Ciao a tutti, vi scrivo qui di seguito la mia idea di tabelle per gestire dei: fascicoli, etichette e registro
un fascicolo può avere enne etichette, una etichetta può essere applicata ad enne fascicoli, può essere applicata ad un registro
"fascicoli"
idFascicolo
fascicolo
"etichette"
idEtichetta
etichetta
"fascicoli_etichette"
id
idFascicolo FK fascicoli.idFascicolo
idEtichetta FK etichette.idEtichetta
"registri"
idRegistro
numero
anno
idFascicolo FK fascicoli.idFascicolo
idEtichetta FK etichette.idEtichetta
che query posso scrivere per trovare tutte le etichette applicate ad un "idFascicolo" (quindi record sia su "registri" che su "fascicoli_etichette")?
ho provato con
SELECT fascicoli.idFascicolo,
registri.*,
e.etichetta AS etichettaSingola,
er.etichetta AS etichettaRegistro
FROM fascicoli
LEFT JOIN registri ON (registri.idFascicolo = fascicoli.idFascicolo)
JOIN etichette AS er ON (er.idEtichetta = registri.idEtichetta)
LEFT JOIN fascicoli_etichette ON (fascicoli_etichette.idFascicolo = fascicoli.idFascicolo)
JOIN etichette AS e ON (e.idEtichetta = fascicoli_etichette.idEtichetta)
WHERE fascicoli.idFascicolo='idDelFascicoloCheStoCercand o'
ma non ottengo un risultato corretto (se ho 2 record in "fascicoli_etichette" e 1 record in "registri" con la query sopra, ottengo 2 righe e non 3)
Grazie a tutti per l'aiuto
EDIT: aggiungo dei dati per esempio.
"fascicoli"
1,nomeFascicolo1
"etichette"
1, nomeEtichetta1
2, nomeEtichetta2
3, nomeEtichetta3
"fascicoli_etichette"
1,1,1
1,1,3
"registri"
1,152,2019,1,2
Come risultato della query vorrei peter avere 3 righe, una per ogni idEtichetta utlizzata