Odaiko Geschrieben 31. Januar 2011 Teilen 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Odaiko Geschrieben 31. Januar 2011 Autor Teilen Geschrieben 31. Januar 2011 edit: SELECT versicherungsnehmer FROM tbl_besitzer WHERE versicherung NOT like 'AOK' Group by versicherungsnehmer zusatz: Julius ist eine Person! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 31. Januar 2011 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 31. Januar 2011 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Odaiko Geschrieben 31. Januar 2011 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Odaiko Geschrieben 31. Januar 2011 Autor Teilen 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 :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.