Discussione: Problema di SQL...
View Single Post
Old 16-04-2002, 09:48   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Questa mi piace di più...

SELECT DISTINCT [Nome], [Cognome], [CodFiscale], Foglio1, Foglio2, Foglio3
FROM Tabella3 AS T, [((SELECT "Sì" As Foglio1 FROM Tabella3) UNION (SELECT "No" As Foglio1 FROM Tabella3))]. AS F1, [((SELECT "Sì" As Foglio2 FROM Tabella3) UNION (SELECT "No" As Foglio2 FROM Tabella3))]. AS F2, [((SELECT "Sì" As Foglio3 FROM Tabella3) UNION (SELECT "No" As Foglio3 FROM Tabella3))]. AS F3
WHERE (Foglio1 IN (
(SELECT "Sì" AS Foglio1 FROM Tabella3 WHERE CodFiscale = T.CodFiscale And Foglio = "Foglio1")
) Or Foglio1 IN (
(SELECT "No" As Foglio1 FROM Tabella3 WHERE (SELECT Count(*) As Cont FROM Tabella3 Where CodFiscale = T.CodFiscale) = (SELECT Count(*) As Cont FROM Tabella3 Where CodFiscale = T.CodFiscale And Foglio <> "Foglio1"))
)) And (Foglio2 IN (
(SELECT "Sì" AS Foglio2 FROM Tabella3 WHERE CodFiscale = T.CodFiscale And Foglio = "Foglio2")
) Or Foglio2 IN (
(SELECT "No" As Foglio2 FROM Tabella3 WHERE (SELECT Count(*) As Cont FROM Tabella3 Where CodFiscale = T.CodFiscale) = (SELECT Count(*) As Cont FROM Tabella3 Where CodFiscale = T.CodFiscale And Foglio <> "Foglio2"))
)) And (Foglio3 IN (
(SELECT "Sì" AS Foglio3 FROM Tabella3 WHERE CodFiscale = T.CodFiscale And Foglio = "Foglio3")
) Or Foglio3 IN (
(SELECT "No" As Foglio3 FROM Tabella3 WHERE (SELECT Count(*) As Cont FROM Tabella3 Where CodFiscale = T.CodFiscale) = (SELECT Count(*) As Cont FROM Tabella3 Where CodFiscale = T.CodFiscale And Foglio <> "Foglio3"))
));

Ah...io ho fatto tutto con Access...spero che il tuo DBMS possa supportare tutte queste query annidate...
cionci è offline   Rispondi citando il messaggio o parte di esso