referenz auf subquery (sql/mysql)
-
ist es möglich auf ein subquery eine referenz zu erstellen sodass
das query nicht mehrmals in der gesamtanfrage vorkommt?das subquery ist z.b.
(select ID from foo where...) AS some_refund jetzt würd ichs gern so benutzen
hauptquery... AND NOT IN som_ref... OR... AND IN some_ref
-
also in TSQL macht man das so...
WITH some_ref AS ( select ID from foo where... )
Folgendes wird dann aber nicht funktionieren: (da IN eine csv erwartet)
hauptquery... AND NOT IN som_ref... OR... AND IN some_ref
Stattdessen joinst du die Abfrage einfach mit rein:
SELECT * from foo JOIN some_ref....
Statt AND NOT IN kann man auch right joinen. Folgendes Bsp. liest alles aus foo, was nicht in some_ref referenziert ist:
SELECT * from some_ref RIGHT JOIN foo ON foo.ID <> some_ref.ID WHERE (...weitere Bedingungen...)