/Anonimizzato9658Utente anonimizzato23 dic 2011, 08:27Buongiorno, Intanto Buon Natale a tutti... Mi trovo nella situazione di avere due tabelle Tabella 1 e Tabella 2.... Voglio fare una query di selezione dei campi delle due tabelle. Selezionando il primo campo della tabella 1 ha 304 record seleziono un campo della tabella 2 e faccio esegui.. i record del campo della tabella 1 di 304... passono a 1300 circa. Se invece seleziono il campo della tabella 1 da solo, e do esegui mi da i miei 304 record. Dove sbaglio? Grazie per il vostro aiuto.
TokiModeratoreIscritto dagen, 2001Messaggi390223 dic 2011, 09:06Ciao vai sulla schermata sql (dove viene visualizzata l'istruzione in formato sql e non visualizzazione struttura) e postacela così vediamo dove sta l'errore che è sicuramente nella join.
/Anonimizzato9658Utente anonimizzato23 dic 2011, 09:16Grazie per la risposta ecco qua il codice: SELECT STP25ASTOE_AAZI00001.AZI00001, STP25ASTOE_AAZI00002.AZI00005 FROM STP25ASTOE_AAZI00001, STP25ASTOE_AAZI00002; Grazie ancora
TokiModeratoreIscritto dagen, 2001Messaggi390223 dic 2011, 09:26Cerchiamo di andare per ordine. Quale è il tuo obiettivo? vuoi la lista di tutti i record STP25ASTOE_AAZI00001.AZI00001 + tutti i record STP25ASTOE_AAZI00002.AZI00005? Quindi se la tabella 1 da 10 record e la seconda ne ha 4, vuoi il totale di 14 record?
/Anonimizzato9658Utente anonimizzato23 dic 2011, 09:33In pratica il primo campo tabella 1 ha dei numeri codice clienti.. Nel secondo campo della tabella 2 ci sono i nomi dei clienti... Associo quindi i codici al cliente.. Peró come detto mi succede che il primo campo moltiplica i record e mi trovo clienti con i numeri uguali..
TokiModeratoreIscritto dagen, 2001Messaggi390223 dic 2011, 13:00Ciao tutto chiaro, non hai la relazione. La tua query dovrebbe essere fatta cosi: SELECT STP25ASTOE_AAZI00001.AZI00001, STP25ASTOE_AAZI00002.AZI00005 FROM STP25ASTOE_AAZI00001 INNER JOIN STP25ASTOE_AAZI00002 ON STP25ASTOE_AAZI00002.AZI00001 = STP25ASTOE_AAZI00001.AZI00001 Ho ipotizzato che il campo di relazione tra le due tabelle (presente in entrambe) sia AZI00001
/Anonimizzato9658Utente anonimizzato23 dic 2011, 14:38Infatti cosi funziona.. ma in pratica deve fare una relazione quando ho due tabelle? Anche se in tabella ci sono campi diversi? o deve esserci un campo in comune? Grazie intanto per l'aiuto che mi hai dato...
/Anonimizzato8543Utente anonimizzato24 dic 2011, 00:33Per consiglio, dai un occhiata alla teoria dei database Relazione uno a molti, uno a uno, chiave primaria ed esterna, e diversi tipi di join. In mezzora, cambierai il modo di vedere le cose e tutti i tuoi dubbi spariranno.
TokiModeratoreIscritto dagen, 2001Messaggi390224 dic 2011, 08:49Quanta saggezza da tommy55 Kivar, confermo quanto detto da tommy55, studiati la parte relazioni che è molto importante e basilare per la realizzazione dei database.