View Single Post
Old 31-01-2010, 00:25   #3
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Innanzitutto ti ringrazio, ma mi devi scusare perché non ho mai usato quel database e i valori in esso contenuti.

Ti faccio un esempio per spiegare la mia situazione, sebbene credo che sia chiara nonostante ciò.

Ho una tabella (per esempio) MAGAZZINO, così fatta:
Codice:
+--------------+--------------+------+-----+---------+-------+
| Field        | Type         | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| NOME         | varchar(30)  | NO   | PRI |         |       |
| QUANTITA     | float(10,2)  | YES  |     | NULL    |       |
+--------------+--------------+------+-----+---------+-------+
Inoltre, come dicevo, ho una 30ina di tabelle del tipo (MATERIALEX):
Codice:
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| NOME  | varchar(30) | NO   | PRI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
Dove il campo MATERIALEX.NOME references MAGAZZINO.NOME, una foreign key, per l'appunto.

Ora, in questo momento se voglio sapere se il materiale "materiale" è in una delle 30 sottotabelle, me le scandisco tutte e 30.

Tu sicuramente mi hai suggerito qualcosa dal quale dovrei "carpire" i link fra una tabella e un'altra, quindi se non ho capito male mi dovrebbe bastare esaminare la tabella MAGAZZINO + qualche tabella in information_schema.
Il problema è che non ho la minima idea di come fare, e non saprei dove andare a mettere il naso.

L'unica soluzione che mi viene in mente è quella di aggiungere un attributo (in un'altra tabella che ora non c'entra nulla, ma dalla quale è partito tutto) che mi memorizzi il tipo di materiale, per ogni materiale, e recuperare il nome della tabella di appartenenza da lì. Ma prima cercavo altre soluzioni.
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso