jakkob: Anfängerfrage zu Datenbanken / JOIN

Beitrag lesen

klingt nicht gut

Warum genau klingt das nicht gut? Wegen meiner ungehobelten Ausdrucksweise oder wegen des beschriebenen Vorgehens?

»»aber dazu müssten wir genau wissen, was du vorhast...
um beim Besipiel von oben zu bleiben (also email ist die einzige Infornmation, bei der mehrere Angabee möglich sind -->1:n Bez.) suche ich so nach einer vornamen <-> email Übereinstimmung:

  
SELECT DISTINCT 	u.userid, u.vorname, u.nachname  
FROM                    user u  
JOIN 			email e  
USING 		 	(userid)  
WHERE                   u.vorname='myVorname'  
AND                     e.email = 'myEmail'  

Und wenn ich jetzt diese userid habe, dann geh ich halt nochmal in die email-Tabelle rein und hole mir dort alle Emails für diese id raus. Jetzt kann ich vorname, nachname und alle emails angeben...So funktioniert, und ich bin zufreiden :-)

Wenn ichs aber in einer Abfrage versuche, also in SELECT noch e.mail schreibe, dann kommt für eine Suche nach Vorname+Nachname (also ohne nach myEmail zu suchen) für jede Email-Adresse ein Ergebnis raus.

Wenn ich allerdings nach genau 'myEmail' suche, dann kommt aber immer nur genau ein Ergebnis, aber ich will ja alle Emails haben.

Mit einer Abfrage gehts also nicht. Liegt aber wohl nicht nur an der 1:n Bez. sondern zusätzlich daran, dass ich nicht weiss, ob meine Suchanfrage auch nach emails (also der 1:n Bez.) suchen soll, oder nicht, denn das entscheidet der User.

Aber nun gut, mit zwei Abfragen siehts doch eigentlich ganz vernünftig aus, oder?

vielen Dank
J