3 Abfragen in einer auf eine Tabelle

tvtotal

Erfahrenes Mitglied
Hallo zusammen, (sorry MySQL)

ich habe eine Tabelle products, in der es folgende Spalten gibt:

ID, ACTIVE, PARENTID, NAME, DESC

Nun kann es 3 verschiedene Abfragen geben, die ich je nach Auswahl von Optionen zusammenfügen muss:

Code:
SELECT * FROM products WHERE active = 1 AND parentid = '' AND id NOT IN (SELECT parentid FROM products WHERE 1)

Code:
SELECT * FROM products WHERE active = 1 AND parentid != ''

Code:
SELECT * FROM products WHERE active = 1 AND parentid = '' AND id IN (SELECT parentid FROM products WHERE 1)

Geht das über 'OR' oder muss dass über 'UNION' laufen?

Danke vielmals...Grüße tvtotal
 
Zuletzt bearbeitet:
Nur eine kleine Zwischenfrage: du willst gleichzeitig Query 1 und 3 abfragen? Dann kannst du ja gleich eine Abfrage daraus machen und musst nicht mehr auf die Id prüfen. Zudem ist Where 1 unnötig. Und ja nachdem was du möchtest kannst du UNION oder UNION ALL verwenden.
 
Hallo, die Abfragen überschneiden sich und je nach Auswahl ergeben sich Schnittmengen. Ich hatte befürchtet, dass Ausgaben mehrfach vorkommen: Ich habe die Abfragen hintereinander eingeklammert mit "OR" geschrieben und es scheint zu funktionieren. Ob ich damit wirklich alle erwische, kann ich aufgrund der Menge nicht nachvollziehen. Wie würde man das denn mit UNION schreiben?
 

Neue Beiträge

Zurück