Chiedo scusa per postare un nuovo topic con lo stesso contenuto del precedente ma non posso cambiare più il titolo che per mio errore è molto furviante e anche contro le regole del forum.
Avrei bisogno di un aiuto sulla creazione di una query, che con le mie basilari conoscenze di mysql, ho paura di rendere orribile anche solo a vedersi !
Ho due tabelle
Codice PHP:
CREATE TABLE giocatori (
id smallint(3) UNSIGNED NOT NULL auto_increment,
nome varchar(255) DEFAULT '' NOT NULL,
cognome varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
) CHARACTER SET `utf8` COLLATE `utf8_bin`;
CREATE TABLE roster(
id smallint(3) UNSIGNED NOT NULL auto_increment,
squadra smallint(3) NOT NULL,
giocatore_1 smallint(3) NOT NULL,
giocatore_2 smallint(3) NOT NULL,
// e così via via ad arrivare a 11
PRIMARY KEY (id)
) CHARACTER SET `utf8` COLLATE `utf8_bin`;
nella tabella roster i campi giocatore_1,giocatore_2 etc. contengono gli id dei giocatori della prima tabella.
In che modo fare una SELECT per recuperare la formazione di una squadra comprendendo anche i nomi dei giocatori ?
Io proverei a fare così ma non penso sia la soluzione ottimale.
Codice PHP:
SELECT r . * , g1 . * , g2 . *
FROM roster r
INNER JOIN giocatori g1 ON g1.id = r.giocatore_1
INNER JOIN giocatori g2 ON g2.id = r.giocatore_2
// etc fino a 11
WHERE r.squadra = 1
O è proprio così che si deve fare ?
Grazie a tutti anticipatamente !