MudGuard schrieb am 18.February.2009, 15:15:06 in der Kategorie pc.coding
Problem mit SQL-Abfrage
> Hallo, > > die unten stehende Abfrage soll eigentlich von einem MS SQL Express-Server > 2005 Daten einer Tabelle liefern, die in einer anderen Tabelle nicht > enthalten sind. Jedoch wird immer die Gesamtmenge aufgelistet. > > Es werden zwei Tabellen von dreien abgefragt: > > Tabelle 1 heißt \"Benutzer\". Die Spalten heißen \"ID\", \"Nachname\", > \"Vorname\". > > Tabelle 2 heißt \"Zuweisung\". Die Spalten heißen \"ID\", \"Benutzer_ID\", > \"Zeitschrift_ID\". > > Tabelle 3 heißt \"Zeitschriften\". Die Spalten heißen \"ID\" und > \"Zeitschrift\". > > ZeitschriftenID ist eine Variable, die auch einen Inhalt hat... > > Die nicht funktionierende Abfrage lautet: > > \"SELECT > Benutzer.ID, Benutzer.Nachname, Benutzer.Vorname > FROM > Benutzer > WHERE > Benutzer.ID > NOT IN > (SELECT > Benutzer_ID > FROM > Zuweisung > WHERE > Zeitschrift_ID=\" & ZeitschriftenID & \") > ORDER BY > Benutzer.Nachname, Benutzer.Vorname ASC\" > > Ich möchte also alle Benutzer herausfinden, die eine besagte Zeitschrift > NICHT beziehen, deren Benutzer_ID also in der Tabelle \"Zuweisung\" nicht mit > der abgefragten Zeitschriften_ID in einer Zeile aufgeführt ist.
Kommt es zu einer Fehlermeldung? Wenn ja, wie lautet sie?
Wenn nein: wie sieht das zusammengesetzte Statement aus (also nach Einsetzen des Variablenwerts)?
Welches Ergebnis erhältst Du anstelle des von Dir erwarteten Ergebnisses?