Problema con una Join

lunedì 01 dicembre 2008 - 22.17

luxsor Profilo | Guru

Ho un problema con questa query, cioè:
Ho 3 tabelle (Clienti, Lavori e Decoder)
La mia query mi dovrebbe restituire:
Tabella Clienti: Nome, Cognome
Tabella Lavori: IndiceDecoder
Tabella Decoder: mdecoderlasciato

SELECT clienti.cognome, clienti.nome, lavori.odl, lavori.indicedecoder, decoder.mdecoderlasciato, lavori.idlavoro
FROM clienti INNER JOIN
lavori ON clienti.idcliente = lavori.idcliente INNER JOIN
decoder ON lavori.indicedecoder = decoder.iddecoder
WHERE lavori.idlavoro=5

Il problema è che dando un es. IDLAVORO=5 mi restituisci 3 volte la stessa riga, mentre nel database vi è sono 1 riga



lbenaglia Profilo | Guru

>Il problema è che dando un es. IDLAVORO=5 mi restituisci 3 volte
>la stessa riga, mentre nel database vi è sono 1 riga
Se hai 3 righe di dettaglio è normale che i dati dalla parte uno della relazione vengano triplicati.
Ora se vuoi ricevere un aiuto concreto posta i comandi DDL delle 3 tabelle (CREATE TABLE) con relativi constraints, alcune righe di prova (INSERT INTO) ed il result set finale.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

luxsor Profilo | Guru

Si restituisce 3 righe perchè nella tabella decoder vi sono 3 elementi che corrispondono allo stesso ID.
E' possibile far uscire tutti e 3 gli elementi della tabella Decoder, nella stessa query di partenza?
Altrimenti lo dovrò fare tramite codice..

Come posso di assegnare un valore nullo al campo DateTime?
perchè se lascio vuoto la mi genera un'eccezione...

lbenaglia Profilo | Guru

>E' possibile far uscire tutti e 3 gli elementi della tabella
>Decoder, nella stessa query di partenza?
>Altrimenti lo dovrò fare tramite codice..
Ci riprovo: "Ora se vuoi ricevere un aiuto concreto posta i comandi DDL delle 3 tabelle (CREATE TABLE) con relativi constraints, alcune righe di prova (INSERT INTO) ed il result set finale."

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5