|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
[mysql]JOIN fra tabelle
Ho due tabelle A e B, la tabella A contiene tanti record la B ne contiene pochi.
campi di A: id player_id info1 info2 campi di B: player_id info1 info2 info3 ecc ecc.. Io devo prendere solo i record di B dove A.player_id=B.player_id, però non voglio ripetizioni! Mi spiego, per la tabella A player_id non è primaria quindi può essere ripetuta, mentre per la B player_id è primaria. Il problema è che se faccio una normale JOIN mi vengono restituiti dei doppioni di record di B proprio perchè in A ci sono tanti campi con lo stesso player_id... COme posso fare? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
C'è caso che non mi sia spiegato bene?
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Beh, dai, in fondo è domenica, un po' di pazienza...
Per quanto riguarda il tuo problema: potresti usare la clausola "DISTINCT" sul campo B.player_id.
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Nono lo so, volevo solo sapere se si era capito perchè rileggendomi mi sono accorto di aver scritto in modo veramente poco comprensibile
![]() DISTINCT dici eh, grazie mille ora guardo come si usa! |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2002
Città: Modena(I) - Sophia Antipolis(F) - London(UK)
Messaggi: 1437
|
select *
from tabella_B B inner join Tabella_A ON B.ID=A.ID dovrebbe andare così... |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:29.