No ti confermo che nella query ci sono i campi delle altre tabelle ... è 1 po lunga comunque :
SELECT Ascensori.ID_Ascensore, Ascensori.Matricola, Ascensori.Sigla, Ascensori.AnnoImm, Ascensori.MatricolaComune, Ascensori.NumFabbrica,
Ascensori.ExMatricola, Ascensori.ExSigla, Ascensori.ExAnnoImm, Ascensori.CodDittaAddeb, Ascensori.SubCodDittaAddeb,
DitteAddeb.RGS AS RGS_Addeb, ComuniAddeb.Descrizione AS Comune_Addeb, Ascensori.SubCodDittaInst, DitteInst.RGS AS RGS_Inst,
ComuniInst.Descrizione AS Comune_Inst, DitteAddeb.IDAmministratore AS CodAmm, Amministratori.RGS AS RGS_Amm,
ComuniAmm.Descrizione AS Comune_Amm, Ascensori.CodCategoria, Ascensori.CodCostruttore, Ascensori.CodManutentore, Ascensori.ID_Status,
Ascensori.NumFermate, Ascensori.Portata, Ascensori.Corsa, Ascensori.Velocita, Ascensori.Trazione, Ascensori.Motore, Ascensori.Manovre,
Ascensori.Porte, Ascensori.Distanza, Ascensori.DataScadenza
FROM Ascensori LEFT OUTER JOIN
Comuni AS ComuniAmm RIGHT OUTER JOIN
Amministratori ON ComuniAmm.Codice = Amministratori.ID_Comune RIGHT OUTER JOIN
Ditte AS DitteAddeb LEFT OUTER JOIN
Comuni AS ComuniAddeb ON DitteAddeb.ID_Comune = ComuniAddeb.Codice ON Amministratori.Codice = DitteAddeb.IDAmministratore ON
Ascensori.CodDittaAddeb = DitteAddeb.Codice AND Ascensori.SubCodDittaAddeb = DitteAddeb.SubCodice LEFT OUTER JOIN
Comuni AS ComuniInst RIGHT OUTER JOIN
Ditte AS DitteInst ON ComuniInst.Codice = DitteInst.ID_Comune ON Ascensori.CodDittaAddeb = DitteInst.Codice AND
Ascensori.SubCodDittaInst = DitteInst.SubCodice
WHERE
((Ascensori.CodDittaAddeb = @CodDittaAddeb) OR (@CodDittaAddeb = 0)) AND
((Ascensori.SubCodDittaAddeb = @SubCodDittaAddeb) OR (@SubCodDittaAddeb = 0)) AND
((Ascensori.Matricola = @Matricola) OR (@Matricola = 0)) AND
((Ascensori.MatricolaComune = @MatricolaComune) OR (@MatricolaComune = 0)) AND
((Ascensori.ExMatricola = @ExMatricola) OR (@ExMatricola = 0)) AND
((Ascensori.Sigla = @Sigla) OR (@Sigla = 0)) AND
((Ascensori.ExSigla = @ExSigla) OR (@ExSigla = 0)) AND
((Ascensori.AnnoImm = @AnnoImm) OR (@AnnoImm = 0)) AND
((Ascensori.ExAnnoImm = @ExAnnoImm) OR (@ExAnnoImm = 0)) AND
((Ascensori.NumFabbrica = @NumFabbrica) OR (@NumFabbrica = 0)) AND
((Ascensori.SubCodDittaInst = @SubCodDittaInst) OR (@SubCodDittaInst = 0)) AND
((Ascensori.CodCategoria = @CodCategoria) OR (@CodCategoria = 0)) AND
((Ascensori.CodCostruttore = @CodCostruttore) OR (@CodCostruttore = 0)) AND
((Ascensori.CodManutentore = @CodManutentore) OR (@CodManutentore = 0)) AND
((Ascensori.ID_Status = @IDStatus) OR (@IDStatus = 0)) AND
((DitteAddeb.RGS LIKE '%' + @RGS_Addeb + '%') OR (@RGS_Addeb = '')) AND
((DitteInst.RGS LIKE '%' + @RGS_Inst + '%') OR (@RGS_Inst = '')) AND
((ComuniAddeb.Descrizione LIKE '%' + @ComuneAddeb + '%') OR (@ComuneAddeb = '')) AND
((ComuniInst.Descrizione LIKE '%' + @ComuneInst + '%') OR (@ComuneInst = '')) AND
((Amministratori.RGS LIKE '%' + @RGS_Amm + '%') OR (@RGS_Amm = '')) AND
((ComuniAmm.Descrizione LIKE '%' + @ComuneAmm + '%') OR (@ComuneAmm = '')) AND
((DitteAddeb.IDAmministratore = @CodAmm) OR (@CodAmm = 0))
|