Frage von ranton,

SQL - In selber Tabelle Werte Vergleichen

Hallo!

Ich soll in einer tabelle nur die Produkte raussuchen, die denselben wert in spalte 1, spalte 2 und spalte 3 haben. wie kann ich die in sql über einen select rausfinden?

Antwort von wotan38,

Du kannst die selbe Tabelle unter verschiedenen Namen ansprechen, wenn Du der Tabelle Alias-Namen vergibst. Das geschieht, wenn die Tabelle z.B. tabnam heißt, mit ...from tabnam a, tabnam b... Du hast jetzt die Tabellen a und b, die Du wie verschiedene Tabellen ansprechen kannst, obwohl es sich um die selbe Tabelle handelt. Die Felder musst Du dann im Weiteren qualifizieren, d.h. Du schreibst ... a.feld1 = b.feld2 ... Das bedeutet dann feld1 in der Tabelle a und feld2 in der Tabelle b.

Antwort von dpRogerWilco,

SELECT * FROM tabelle WHERE spalte1 = spalte2 AND spalte2 = spalte3;

Oder habe ich etwas falsch verstanden?

Antwort von emhaj,

Du kannst die selbe Tabelle über einen Alias ansprechen:

select .... from t a where t.feld1 = a.feld1

oder auch

select .... from tab1 a, tab1 b where a.feld = b.feld

Kommentar von ranton,

problem dabei ist, dass ich nun auch doppelt so viele ergebnisse habe, da er ja "beide" tabellen abfragt

Kommentar von emhaj,

du musst in der where-klausel jeweils die auswahl für die tabellen A und B näher einschränken. Z.B.

where a.type = 'C' and b.type = 'D' and a.feld = b.feld .......

Keine passende Antwort gefunden?

Verwandte Fragen

Fragen Sie die Community