Hilfe bei einer Selectanweisung

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.
Wo ist mein Gedankenfehler?

hi,

meinst Du statt WHERE [u]NOT[/u] versicherung [u]like[/u] 'AOK' evtl. WHERE versicherung [u]NOT like[/u] 'AOK' ? :wink:

ciao

ups… dennoch gehts nicht :frowning:

Er hat doch noch einen Julius der nicht bei der AOK ist, der bei der IKK…

das ist die gleiche person!

deswegen auch mein group by, damit er ihn als EINE person nimmt. oder hab ich da mein fehler?

SELECT versicherungsnehmer FROM tbl_besitzer WHERE versicherung != 'AOK' GROUP BY versicherungsnehmer

[quote=“hummer”]SELECT versicherungsnehmer FROM tbl_besitzer WHERE versicherung != 'AOK' GROUP BY versicherungsnehmer [/quote]

Problem nicht gelöst!

Stimmt - weil sql ja garnicht weiß, dass es ein und die selbe Person ist.
Das musst du dann mit einer Relationstabelle lösen.
http://www.peterkropff.de/tutorials/php_mysql_3/relationstabellen.htm

[quote=“Odaiko”]das ist die gleiche person!
deswegen auch mein group by, damit er ihn als EINE person nimmt. oder hab ich da mein fehler?[/quote]
m.E. Ja. Das Zusammenfassen durch GROUP BY erfolgt nach dem SELECT. Ich denke du wirst um ein JOIN nicht rumkommen.

kann man das aber nicht mit group by auch “erzwingen”?

dammt… ganz schön viel arbeit … :frowning:

wie erstelle ich nun eine neue tabelle die zugleich diese abfrage ja beinhalten kann und dazu nen PS.

Ansatz:
CREATE TABLE new_table AS (SELECT * FROM tbl_besitzer GROUP BY besitzer);

oder geht sowas gar nicht?

Hässlich aber funktioniert:

habs mittl. auch rausbekommen. danke eurer hilfe dennoch!

und hässlich ist es nicht. hauptsache es funzt!!!