Jump to content

Zwei rows im gleichen statement auslesen


Recommended Posts

Hallo zusammen


ich habe eine Frage:

Ich habe zwei Tabellen "USERS" und "CONTACT".


Die USER tabelle sieht so aus

 

USER_ID | NAME | VORNAME
1 | Müller | Rudolf
2 | Schwager | Jürg

 


Die CONTACT tabelle sieht so aus

 

USER_ID | FIELD_DESC | FIELD_VALUE
1 | Phone1 | 1234567
1 | Phone2 | 0987654
2 | Phone1 | 5678944
2 | Phone2 | 3647594

 

Nun möchte ich die Ausgabe wie folgt gestalten


Name | Vorname | Phone 1 | Phone 2


wie schreibe ich nun das select statement, dass ich quasi zwei rows im gleichen SQL statement abarbeiten kann.


Select


A.Name as Name ,A.Vorname as Vorname, B.FIELD_VALUE as PHONE1, B.FIELD_VALUE as PHONE2 from USERS A join CONTACT B on A.USER_ID=B.USER_ID where ....


nun wie definiere ich aber, dass ich unter B.FIELD_VALUE einmal den Wert für Phone 1 bekomme und einmal den Wert für Phone 2 ? Wenn ich eine where klausel mache, klappt dies wenn ich nur eine telnummer definiere, also where B.FIELD_DESC ='Phone1', jedoch bei zwei Zeilen geht dies logischerweise nicht mehr. doch wie kann ich es dann lösen ?


vielen dank für die hilfe

roland

Link to post
Share on other sites

Ähm, wenn man so ein Ergebnis hat - stimmt irgendwas nicht mit dem DB-Design.


Warum gibt es eine Tabelle "Kontakt" - doch nur, wenn ein "Ding" mehrere "Kontakte" hat.

oder....

Wenn sich meherere Dinger einen Kontakt teilen.

In diesem Fall ist aber die Telefonnummer(n) einem bestimmten Ding zugeteilt. Aus diesem Grund ergibt es keinen Sinn .. eine 1:1 in eine extra Tabelle zu werfen.


Sry, wenn ich ältere Leichen wecken muss - aber wenn man schon anfängt, sich mit DB-design und deren Abfragegestalltung auseinander zu setzen,

dann auch gleich richtig. Also wenigstens bis zur 3.NF sollte eine DB schon erstellt werden - alles darüber ist IMO wissenschaftliche Krümelkacke.



lG Henrik

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...