Just nu i M3-nätverket
Gå till innehåll

2 tabeller


Poj

Rekommendera Poster

Jag har 2 tabeller

medlem som innerhåller: id, namn

spel  som innerhåller: id, ansv, 1, 2, 3, 4

 

i spel lagras id't från medlem.

Hur får jag ut namnet från medlem istället när jag visar tabellen?

Länk till kommentar
Dela på andra webbplatser

Jag har 2 tabeller

medlem som innerhåller: id, namn

spel  som innerhåller: id, ansv, 1, 2, 3, 4

 

i spel lagras id't från medlem.

Hur får jag ut namnet från medlem istället när jag visar tabellen?

Om jag förstår det rätt så vill du hämta data från tabell "medlem"?

 

Vad vill du hämta från medlem när du bara ha id och namn?

 

ps: Lite afk äter en pizza

Länk till kommentar
Dela på andra webbplatser

Det finns fler kolumner i medlem men jag behöver inte dom nu.

I detta fallet är det är spel jag vill visa på en sida men där är bara 'id' från medlem lagrat under kolumnerna 'ansv', '1' ,'2', '3', '4'  så jag vill visa namn istället för id nummer.

 

medlem ser ut så här:                          spel ser ut så här:

id , namn,                                             id, ansv, 1, 2, 3, 4,     

1 , pelle                                                 1 ,  2,     1, 3, 2, 4 

2, kalle

3, sören

4, stefan

 

Jag vill visa spel på sidan och istället för '2' för ansv ska det stå 'kalle' 1=pelle 3=sören 2=kalle osv.

Länk till kommentar
Dela på andra webbplatser

Det finns fler kolumner i medlem men jag behöver inte dom nu.

I detta fallet är det är spel jag vill visa på en sida men där är bara 'id' från medlem lagrat under kolumnerna 'ansv', '1' ,'2', '3', '4'  så jag vill visa namn istället för id nummer.

 

medlem ser ut så här:                          spel ser ut så här:

id , namn,                                             id, ansv, 1, 2, 3, 4,     

1 , pelle                                                 1 ,  2,     1, 3, 2, 4 

2, kalle

3, sören

4, stefan

 

Jag vill visa spel på sidan och istället för '2' för ansv ska det stå 'kalle' 1=pelle 3=sören 2=kalle osv.

Jag förstår vilken språk prata vi om PHP? Men hur vet den vilken ID den ska hämta från spel?

Länk till kommentar
Dela på andra webbplatser

Det är php. Det är id från medlem som är lagrat i kolumnerna i spel.

Har dom samma id på spel som medlem som tex medlem 1: Pelle spel 1: Pelle?

Länk till kommentar
Dela på andra webbplatser

Jag har 2 tabeller

medlem som innerhåller: id, namn

spel  som innerhåller: id, ansv, 1, 2, 3, 4

 

i spel lagras id't från medlem.

Hur får jag ut namnet från medlem istället när jag visar tabellen?

Eftersom du ställer frågan i SQL Syntax antar jag att du är ute efter att få SQL-frågan för att hämta informationen från databasen. Länge sen jag höll på med SQL men kolla på SELECT och JOIN:

http://www.w3schools.com/sql/sql_join.asp

Länk till kommentar
Dela på andra webbplatser

Nej id i spel är unikt, det ökar för varje rad som läggs in. Det är kolumnerna i spel som innerhåller id från medlem.

Länk till kommentar
Dela på andra webbplatser

Cecilia

Jag kan inte något om JOIN jag skulle lösa det om det var en kolumn som skulle kopplas till medlem id men nu är det alla kolumnerna i spel som ska kopplas till medlem id.

Länk till kommentar
Dela på andra webbplatser

SELECT spel.id, medlem.id, spel.1, spel.2, spel.3, spel.4

FROM spel JOIN medlem ON spel.ansv = medlem.id

Länk till kommentar
Dela på andra webbplatser

Nu börjar det likna något, jag ändrade medlem.id till medlem.namn då fick jag namnen i ansv kolumnen på spel.

'FROM spel JOIN medlem ON spel.ansv = medlem.id'

det är bara spel.ansv som är kopplad till medlem.id hur får jag dom andra kolumnerna i spel (1,2,3,4) kopplade till medlem.id också? 

Länk till kommentar
Dela på andra webbplatser

OK, var lite morgontrött igår och läste inte tillräckligt noga. Du kommer behöva joina med medlem-tabellen för varje namn som ska tas fram, dvs både för ansv, 1, 2, 3 och 4.

 

SELECT spel.id, medlem.namn, m1.namn, m2.namn, m3.namn, m4.namn
FROM spel JOIN medlem ON spel.ansv = medlem.id
  JOIN medlem m1 on spel.1 = m1.id
  JOIN medlem m2 on spel.2 = m2.id
  JOIN medlem m3 on spel.3 = m3.id
  JOIN medlem m4 on spel.4 = m4.id;

 

Alternativt så kör man med "correlated sub-query", dvs:

 

SELECT spel.id,

       (select namn from medlem where medlem.id = spel.ansv),

       (select namn from medlem where medlem.id = spel.1),

       (select namn from medlem where medlem.id = spel.2),

       (select namn from medlem where medlem.id = spel.3),

       (select namn from medlem where medlem.id = spel.4)

FROM spel JOIN medlem ON spel.ansv = medlem.id;
 

Länk till kommentar
Dela på andra webbplatser

Hej.

Nu är det löst, jag kom fram till ett liknade resultat men det tog lång tid. ( alla fel meddelanden )

 

SELECT spel.id, a1.namn , M1.namn AS spelare_1, m2.namn AS spelare_2, m3.namn AS spelare_3, m4.namn AS spelare_4
FROM spel
JOIN medlem AS a1 ON spel.ansv =a1.id
JOIN medlem AS m1 ON spel.1 = m1.id
JOIN medlem AS m2 ON spel.2 = m2.id
JOIN medlem AS m3 ON spel.3 = m3.id
JOIN medlem AS m4 ON spel.4 = m4.id

 

Tack för hjälpen

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...