Salve a tutti,
la mia situazione è la seguente: ho un certo numero noto di gruppi, poche decine, ogni gruppo è costituito da varie parti identificate da un codice, le parti sono conservate in posti anch'essi identificati da un codice, le parti sono un migliaio, divise in circa 80-100 per gruppo e i posti sono dell'ordine delle centinaia.
La struttura è composta da una tabella che identifica le parti costituenti dei gruppi e da una seconda tabella che indica dove è posta ogni parte.
Finora abbiamo sempre lavorato con le singole parti ma adesso si vuole utilizzare il concetto di gruppo.
Faccio un esempio:
GRUPPI
codice gruppo parti costituenti 1 A 1 B 1 C 2 D 2 E 3 F 3 G
ossia il gruppo 1 è composto dalle parti A,B e C e così via
PARTI
quindi ci sono tre parti A nel posto 1 e una nel posto 2.
codice parte posto A 1 B 1 C 1 A 1 B 1 C 1 A 1 D 1 E 1 A 2 B 2 C 2 D 2 E 3
Ho bisogno di sapere dove si trovano i gruppi e viceversa ogni posto quali gruppi contiene. Dall'esempio risulta che il gruppo 1 composto dalle parti A,B,C si trova nel posto 1 in due copie e nel posto 2 in una copia; nel posto 1 c'è anche il gruppo 2 con componenti D e E. Viceversa il gruppo 1 si trova in due copie nel posto 1 e in una copia nel posto 2.
In teoria un gruppo dovrebbe trovarsi completo in un posto ma nella pratica non avviene sempre, infatti nell'esempio abbiamo un componente A nel posto 1 senza i corrispondenti componenti B e C a completamento del gruppo, anche il gruppo 2 risulta incompleto nel posto 3 che contiene solo la parte E senza la D.
In sintesi ogni posto può contenere più gruppi, e di ogni gruppo esistono indeterminate copie contenute nello stesso posto o in posti diversi.
Tralasciando i casi di gruppi incompleti, come posso conoscere con una query in mysql il posto di ogni gruppo e quali gruppi ci sono in ogni posto?
Grazie