2016-03-30 5 views
0

Ich versuche, eine SELECT aus einer Tabelle zu tun, wo ein Attribut BALANCE weniger als 0. Die Struktur sein sollte, ist wie folgt:Wählen Attribut in SQL dann seinen Wert überprüft

SELECT ID_PROJECT FROM PROJECTS WHERE BALANCE < 0; 

Aber BALANCE ist ein abgeleitetes Attribut das Ergebnis:

SET BALANCE = (SELECT BALANCE FROM(
[...] here goes the 'selection' (which works fine). 

das Problem ist, ich weiß nicht, wie das Attribut BALANCE oben in der ersten SELECT ausgewählt verwenden (und ich habe bereits eine umfangreiche Suche über google, oracle-Dokumentation und Stack-Überlauf) .

Vielen Dank im Voraus.

+3

Bitte zeigen Sie uns Ihre vollständige Aussage Woher kommt dieses 'SET'? Plus: "* sollte größer als 0 * sein" widerspricht Ihrer Bedingung "<0". –

+0

@a_horse_with_no_name Sie haben Recht, ich habe es korrigiert. Das Set war ein Versuch, eine Art "variables" Gleichgewicht zu erstellen, das in der Auswahl verwendet wird, aber die Unterabfrage-Methode funktioniert. Danke trotzdem! –

Antwort

0

Sie können mit einer Unterabfrage versuchen:

SELECT ID_PROJECT FROM PROJECTS p1 WHERE (select balance from ...) > 0; 

Auf diese Weise werden Sie wahrscheinlich brauchen eine Bedingung verwenden PROJECTS p1 auf die Tabelle (n) in der verschachtelten Abfrage zu verknüpfen, auf Ihre Tabellenstruktur abhängig und Ihre Bedürfnisse

+0

und stellen Sie sicher, dass die SubQuery immer ** 1 ** Ergebniszeile & ** 1 ** Spalte immer zurückgibt –

Verwandte Themen