2016-06-27 8 views
-2
SELECT AID,DESCRIPTION, 
IFNULL((SELECT SUM(DEBIT) FROM `GL_POSTED_TRANSACTION` WHERE AID = account.AID),0) AS PREV_DEBIT, 
IFNULL((SELECT SUM(DEBIT) FROM `GL_POSTED_TRANSACTION` WHERE AID = account.AID),0) AS DEBIT 
FROM GL_ACCOUNT account 
WHERE CLASSID = 1 AND SUBCLASSID = 3 
ORDER BY DESCRIPTION; 

Die Abfrage obigen Ergebnisse: ResultErste unbekannte Spalte Fehler, wo-ing eine Spalte aus einer Unterabfrage Ergebnis

aber wenn ich hinzufügen UND KREDIT> 0 Ich habe eine Fehlermeldung, unbekannte Spalte DEBIT.

Was mache ich falsch? kann jemand es erklären.

+0

was soll ich mit dieser Frage zu tun? –

+0

Nicht wirklich sicher ... hast du Punkte verloren? Ich habe nie eine Frage beibehalten, die viele Male abgelehnt wurde. –

Antwort

1

diese Bedingung hinzufügen in HAVING Klausel nicht WHERE, wie;)

SELECT AID,DESCRIPTION, 
IFNULL((SELECT SUM(DEBIT) FROM `GL_POSTED_TRANSACTION` WHERE AID = account.AID),0) AS PREV_DEBIT, 
IFNULL((SELECT SUM(DEBIT) FROM `GL_POSTED_TRANSACTION` WHERE AID = account.AID),0) AS DEBIT 
FROM GL_ACCOUNT account 
WHERE CLASSID = 1 AND SUBCLASSID = 3 
HAVING DEBIT > 0 
ORDER BY DESCRIPTION; 
+0

Oder Sie könnten einfach die explizite Bedingung in die WHERE-Klausel einfügen. Dies funktioniert nicht bei einer Abfrage, die eine GROUP BY hat, wobei HAVING eine andere Anwendung hat. –

Verwandte Themen