2017-08-15 1 views
0

Ich habe eine Frage über die Verwendung mehrerer Funktionen in LibreOffice Base. Ich kann nicht die IF() innerhalb de SUM() verwenden Hier ist die Erklärung:LibreOffice Base: Query Token Fehler

SELECT Item.idArticleType, 
SUM(IF(Item.isNew = false, Item.stock , 0)) as 'oldStock', 
SUM(IF(Item.isNew = true , Item.stock , 0)) as 'newStock' 
FROM 'Item' 
GROUP BY 'Item.idArticleType' 

Diese Anweisung funktioniert auf MySQL, aber in Libreoffice Base- gibt mir eine Nachricht:

Unexpected token: IF in einer Erklärung

Irgendwelche Hilfe?

+0

ich in meiner Antwort annehmen, dass LO Basis dieser gleichen MySQL-Datenbank als Motor verwendet wird. Wenn es stattdessen etwas anderes verwendet, wie zum Beispiel eingebettete HSQLDB, dann erwähne das bitte. –

+0

Nach dem Versuch es mit HSQLDB zu verwenden, sieht es so aus, dass das den Fehler erzeugt. Haben Sie vor, die HSQLDB-Engine zu verwenden? Wenn ja, dann wird die Syntax anders sein. Andernfalls reparieren Sie die LO-Basisdatei, so dass sie MySQL verwendet. –

Antwort

1

Es funktioniert für mich, wenn Zitate entfernt werden, ob in einer MySQL-Eingabeaufforderung eingegeben oder aus dem Bereich Abfragen in Base.

SELECT Item.idArticleType, 
SUM(IF(Item.isNew = false, Item.stock , 0)) as oldStock, 
SUM(IF(Item.isNew = true , Item.stock , 0)) as newStock 
FROM Item 
GROUP BY Item.idArticleType 

Das Ergebnis:

query in LO Base