Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Estrazione dati da tre tabelle su db SQL

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

Estrazione dati da tre tabelle su db SQL

Postdi paolomi » 27/04/16 11:32

Buongiorno a tutti , ho un problema... dovrei estrarre dei dati da tre tabelle delle quali pero' solo due hanno dei campi in comune
la terza non ce l'ha come posso fare ? mi fate un esempio pratico grazie
paolomi
Utente Junior
 
Post: 45
Iscritto il: 15/07/09 14:13

Sponsor
 

Postdi archimede » 29/04/16 10:13

Mi sa che un esempio pratico devi farlo tu: come sono fatte le tabelle, un estratto di alcuni dati di esempio e l'esatto risultato che vuoi ottenere partendo da tali dati.

In ogni caso, se una tabella non ha nessun campo in comune con le altre due mi sfugge perché e come pensi di includerla nella relazione.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi paolomi » 29/04/16 11:24

rimetto a seguito la query che attualmente ho scritto quindi funzionante in relazione tra le prime due tabelle :
Codice: Seleziona tutto
SELECT tabtestateordinifornitore.stato, tabtestateordinifornitore.data, tabtestateordinifornitore.numerodocumento, tabdettaglioordinifornitore.descrizionearticolo, tabdettaglioordinifornitore.idriga, tabdettaglioordinifornitore.idarticolo, tabdettaglioordinifornitore.datacreaz, tabdettaglioordinifornitore.utenteultimoaccesso,tabdettaglioordinifornitore.evasa from tabtestateordinifornitore inner join tabdettaglioordinifornitore on tabtestateordinifornitore.idordine = tabdettaglioordinifornitore.idordine where (evasa = 'N') AND (stato = 'A')

a questo punto mi manca un campo che dovrei estrarre dalla terza tabella che si chiama tabclienti il campo si chiama ragionesociale1
pero' tutto il resto di campi di questa tabella non ce ne sono di corrispondenti ..con le altre due tabelle come posso fare ?
paolomi
Utente Junior
 
Post: 45
Iscritto il: 15/07/09 14:13

Postdi archimede » 30/04/16 11:25

paolomi ha scritto:tutto il resto di campi di questa tabella non ce ne sono di corrispondenti ..con le altre due tabelle come posso fare ?
Non vedo come sia possibile: se dovessi farlo "manualmente" come faresti? Se non esiste un criterio univoco per estrarre quel dato, l'SQL non può "indovinare" quale ragionesociale1 mostrare per ciascun record della query.

Peraltro mi sfugge perché ti serva la ragione sociale dei clienti in una query che interroga i fornitori, ma non sapendo nulla del tuo db magari un senso c'è.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi paolomi » 03/05/16 08:56

il nome della tabella è errato si chiama clienti ma in realta' ci sono i dati dei fornitori ( la potrei sempre rinominare)
il dato del campo che mi serve e che si trova in questa terza tabella si chiama come gia' detto ragionesociale1, non c'è proprio nessun modo per estrarre anche i dati di questo terzo campo ed associarli ai campi estratti nelle prime due tabelle ? neppure creando un nuovo campo nella terza tabella con nome comune alle altre due ? non so'... io non ho esperienza di sql mi sto approcciando ora ......
paolomi
Utente Junior
 
Post: 45
Iscritto il: 15/07/09 14:13

Postdi archimede » 03/05/16 15:42

Devi mettere la chiave primaria di tabclienti (che presumo sia un ID numerico) in tabtestateordinifornitore (o, più in generale, in tutte le tabelle che vuoi mettere in relazione con essa). In pratica la stessa cosa che hai fatto con idordine.

https://support.office.com/it-it/articl ... 6fb812b58f

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova


Torna a Programmazione


Topic correlati a "Estrazione dati da tre tabelle su db SQL":


Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti