Daniela Koller: Komplexe MsSQL-Abfrage in einer stored procedure

Beitrag lesen

Hi Michael

SELECT irgendwas FROM Table1 JOIN Table2

gibt 10 und 11 zurück.

Table3 enthält Einträge mit den IDs 10,11 und 12. Jetzt will ich alle Einträge aus Table3 zurückgeben, allerdings soll eine zusätzliche Column blnPossible bei 10 und 11 auf true gesetzt sein, bei 12 auf false. Wie mache ich das?? Bei CREATE VIEW kommt jedes mal ein Fehler, ich benutze MsSQL 7, das scheint das nicht zu unterstützen. Kann ich ein dreifaches JOIN machen?

Nur mal ein ungetesteter Versuch, eher pseudocode als reales SQL

Select a.feld, is_null(c.feld) -- gibt es sowas wie is_null in MSSql?
  from a
       left outer join b on (a.key = b.key)
       left outer join c on (b.key = c.key) -- Verknüpfung aus deiner 2. Query
  where deine bedingungen

Das müsste dir alles aus b geben. Dazu ist c.feld nur gesetzt,
also nicht null falls eine Verknüfung zwischen a und b und von
b nach c existiert. Der left outer join sagt, es ist mir
egal ob in b od c was drinsteht, gib mir einfach alles was dazu
passt und sonst null. Mit is_null (od wie das in MSSQL auch heisst)
setzt du dann noch deinen Boolean.

Gruss Daniela