Ciao a tutti,
È possibile con una sola sentenza estrapolare tutti i dati della tabellla Clienti con, in un campo il nome del cliente, in un altro campo tutte le etichette appartenenti a quel cliente separate da una virgola?
date 3 tabelle, clienti, etichette, clienti_etichette:
----------
Clienti(tabella)
id_cliente(PK)
nomeCliente
-----------
Etichette(tabella)
id_etichetta(PK)
nomeEtichetta
------------
Clienti_Etichette(tabella)
id_cliente_etichetta(PK)
id_cliente(FK tabella Clienti)
id_etichetta(FK tabella Etichette)
--------------
La tabella Clienti_Etichette contiene le relazioni tra le due tabelle Clienti e Etichette, la relazione è molti a molti, ovvero ad un campo di Clienti possono corrispondere più campi della tabella Etichette e una etichetta può essere in relazione con più campi della tabella Clienti.
Attualmente faccio 2 select in due comandi separati:
la prima mi va ad estrapolare tutti i campi della tabella etichette e con il risultato totale, poi , con il risultato utilizzando PHP, riga per riga estrapolo id_cliente, vado vedere in quali campi è contenuto nella tabella Clienti_Etichette e con l'id_etichetta estrapolo il nome della etichetta dalla tabella Etichette.
le select sono queste:
Prima select:
select * from Clienti
Seconda select:
select Etichette.nome_etichetta from Etichette,Clienti_Etichette where Clienti_Etichette.id_etichetta = Etichette.id_etichetta and Clienti_Etichette.id_Cliente=:id ( :id viene sostituito per ogni riga ricavata dalla prima select)
Lo sto facendo correttamente o potrei fare la stessa cosa in un'unica sentenza?
Grazie,
Roberto