Odaiko Geschrieben 31. Januar 2011 Geschrieben 31. Januar 2011 Es gibt eine Tabelle (tbl_besitzer): id, versicherung, versicherungsnehmer 1, AOK, Julius 2, IKK, Paul 3, IKK, Julius 4, AOK, Peter Nun möchte ich alle versicherungsnehmer anzeigen lassen, die nicht bei der AOK sind. SELECT versicherungsnehmer FROM tbl_besitzer WHERE NOT versicherung like 'AOK' Group by versicherungsnehmer Leider zeigt er mir dennoch den Julius an, was nicht angezeigt werden soll. Wo ist mein Gedankenfehler?
Odaiko Geschrieben 31. Januar 2011 Autor Geschrieben 31. Januar 2011 edit: SELECT versicherungsnehmer FROM tbl_besitzer WHERE versicherung NOT like 'AOK' Group by versicherungsnehmer zusatz: Julius ist eine Person!
dr.dimitri Geschrieben 31. Januar 2011 Geschrieben 31. Januar 2011 Wieso verwendest Du ein GROUP BY und ein LIKE? Beides ist hier unnötig: SELECT versicherungsnehmer FROM tbl_besitzer WHERE NOT versicherung ='AOK' Allerdings hätte es auch in Deiner ursprünglichen Form funktieren müssen. Bist Du sicher, dass AOK bei Julius korrekt in der DB steht? Nicht etwa Aok u.ä? Dim
Reinhold Geschrieben 31. Januar 2011 Geschrieben 31. Januar 2011 Es gibt eine Tabelle (tbl_besitzer): id, versicherung, versicherungsnehmer 1, AOK, Julius 2, IKK, Paul 3, IKK, Julius 4, AOK, Peter Nun möchte ich alle versicherungsnehmer anzeigen lassen, die nicht bei der AOK sind. ... Leider zeigt er mir dennoch den Julius an, was nicht angezeigt werden soll. Wo ist mein Gedankenfehler? Das liegt daran, das EIN Julius nicht zur AOK gehört... Wenn beide Julius die selbe Persn sind und es somit garantiert ist, das der Name des Versicherungsnehmers eindeutig ist (?), stellt sich mir die Frage, ob man das nicht besser normalisieren würde? Zurück zum Thema: das hier sollte dir liefern, was du suchst. SELECT versicherungsnehmer FROM tbl_besitzer WHERE versicherungsnehmer not in ( select versicherungsnehmer from tbl_Besitzer where versicherung = 'AOK' ) hth Reinhold
Odaiko Geschrieben 31. Januar 2011 Autor Geschrieben 31. Januar 2011 Wieso verwendest Du ein GROUP BY und ein LIKE? Beides ist hier unnötig: SELECT versicherungsnehmer FROM tbl_besitzer WHERE NOT versicherung ='AOK' Allerdings hätte es auch in Deiner ursprünglichen Form funktieren müssen. Bist Du sicher, dass AOK bei Julius korrekt in der DB steht? Nicht etwa Aok u.ä? Dim ja, bin mir absolut sicher
Odaiko Geschrieben 31. Januar 2011 Autor Geschrieben 31. Januar 2011 Das liegt daran, das EIN Julius nicht zur AOK gehört... Wenn beide Julius die selbe Persn sind und es somit garantiert ist, das der Name des Versicherungsnehmers eindeutig ist (?), stellt sich mir die Frage, ob man das nicht besser normalisieren würde? Zurück zum Thema: das hier sollte dir liefern, was du suchst. SELECT versicherungsnehmer FROM tbl_besitzer WHERE versicherungsnehmer not in ( select versicherungsnehmer from tbl_Besitzer where versicherung = 'AOK' ) hth Reinhold Sehr geil, es klappt :-)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden