PDA

View Full Version : [SQL/generico]Ricavare dati da più tabelle


RaouL_BennetH
20-06-2008, 11:57
Altro problemuccio del giorno:

ho due tabelle

Ordini, Clienti

supponendo che:



Ordini
ID
ID_Cliente
DescrizioneOrdine

Clienti
ID_Cliente
DenominazioneCliente

//Vorrei fare una select che mi restituisca la descrizione ordine e la denominazione cliente

SELECT Ordini.DescrizioneOrdine, Clienti.DenominazioneCliente
FROM Ordini, Clienti
WHERE Ordini.ID_Cliente = Clienti.ID_Cliente



Mi sembrava così semplice eppure se mando in esecuzione la query mi dice che è impossibile perchè mancano alcuni parametri necessari.

Grazie :)

RaouL.

robs05
20-06-2008, 12:21
bhe in effetti immagino che ID della tabella ordini e ID_CLIENTE della tabella clienti siano PRIMARY KEY

ID_CLIENTE sia una FOREIGN KEY


SELECT Ordini.DescrizioneOrdine, Clienti.DenominazioneCliente
FROM Ordini INNER JOIN Clienti on Ordini.ID_Cliente = Clienti.ID_Cliente
WHERE "codizione"

corregetemi se sbaglio

RaouL_BennetH
20-06-2008, 12:53
bhe in effetti immagino che ID della tabella ordini e ID_CLIENTE della tabella clienti siano PRIMARY KEY

ID_CLIENTE sia una FOREIGN KEY


SELECT Ordini.DescrizioneOrdine, Clienti.DenominazioneCliente
FROM Ordini INNER JOIN Clienti on Ordini.ID_Cliente = Clienti.ID_Cliente
WHERE "codizione"

corregetemi se sbaglio

Non sbagli :)

Grazie mille !!!!!

RaouL_BennetH
20-06-2008, 13:25
Avrei un'altra domandina... e se le tabelle fossero tre?

allora:


tblMansioni
CodiceMansione
DescrizioneMansione


tblSettori
CodiceSettore
DescrizioneSettore

tblImpiegati
CodiceBadge
Cognome
Nome
CodiceMansione
CodiceSettore



In pratica quello che dovrei tirare fuori è:

Dato il codice settore ed il codice mansione, ricavare:

codicebadge, cognome, nome, descrizione settore, descrizione mansione.

Con due tabelle ci riesco grazie al tuo esempio di prima, con tre.. no :(

Grazie.

RaouL.

0rph3n
20-06-2008, 16:20
SELECT tblImpiegati.CodiceBadge,
tblImpiegati.Cognome,
tblImpiegati.Nome,
tblSettori.DescrizioneSettore,
tblMansioni.DescrizioneMansione
FROM tblImpiegati
JOIN tblSettori ON tblImpiegati.CodiceSettore = tblSettori.CodiceSettore
JOIN tblMansioni ON tblImpiegati.CodiceMansione = tblMansioni.CodiceMansione
WHERE tblSettori.CodiceSettore = ?
AND tblMansioni.CodiceMansione = ?



voglio il 20% :O

RaouL_BennetH
20-06-2008, 16:33
SELECT tblImpiegati.CodiceBadge,
tblImpiegati.Cognome,
tblImpiegati.Nome,
tblSettori.DescrizioneSettore,
tblMansioni.DescrizioneMansione
FROM tblImpiegati
JOIN tblSettori ON tblImpiegati.CodiceSettore = tblSettori.CodiceSettore
JOIN tblMansioni ON tblImpiegati.CodiceMansione = tblMansioni.CodiceMansione
WHERE tblSettori.CodiceSettore = ?
AND tblMansioni.CodiceMansione = ?



voglio il 20% :O

Accordato!! Posso pagarti in surgelati però :D

L'azienda dove lavoro si occupa di questo ed io ho qualche sconticino come impiegato :fagiano:

RaouL_BennetH
20-06-2008, 17:01
uhm.. aspè.. però:

Ho fatto così:


SELECT t1.CodiceBadge, t1.Cognome, t1.Nome,
t2.DescrizioneSettore,
t3.DescrizioneMansione
FROM tblImpiegati AS t1
JOIN tblSettori AS t2 ON t1.CodiceSettore = t2.CodiceSettore
JOIN tblMansioni AS t3 ON t1.CodiceMansione = t3.CodiceMansione
WHERE t2.CodiceSettore = ?
AND t3.CodiceMansione = ?



Mi da errore:
Errore di sintassi(operatore mancante) nell'espressione della query
't1.CodiceSettore = t2.CodiceSettore

....

RaouL_BennetH
20-06-2008, 17:35
oh... don't mind...

errore stupido mio :)