PDA

View Full Version : [SQL] Access non mi esegue questa query: SELECT include parola riservata?


Matrixbob
11-05-2009, 09:22
Dove cacchio sbaglio?

SELECT tblCode.Commessa, tblCode.data_Commessa,
COUNT(tblCode.Num_polizza) AS TOT,
SUM(tblCode.Lavorata=TRUE)*-1 AS Lavorati,
SUM(tblCode.Lavorata=FALSE)*-1 AS DaLavorare,
COUNT(tblCorrette.Num_polizza) AS TOT2,
SUM(tblCorrette.flag_elaborata=TRUE)*-1 AS Elaborate,
FROM tblCode, tblCorrette
WHERE tblCode.Commessa = tblCorrette.Commessa
GROUP BY tblCode.Commessa, tblCode.data_Commessa

MarcoGG
11-05-2009, 09:30
Dove cacchio sbaglio?

Elimina la virgola alla fine della riga :
SUM(tblCorrette.flag_elaborata=TRUE)*-1 AS Elaborate,

Matrixbob
11-05-2009, 12:13
Elimina la virgola alla fine della riga :
SUM(tblCorrette.flag_elaborata=TRUE)*-1 AS Elaborate,

Si si alla fine avevo fatto, ma mi si era piantato il browser e non ha aggiornato il 3D ... ,aledetti proxxy degli uffici!!!!

Anche se alla fine quella query mi restituisce cifre a cazzo, non era molto funzionale nonostante l'apparenza. :)

Matrixbob
11-05-2009, 14:17
... e questa?


SELECT commessa, data_Commessa, complessive,
COUNT(num_polizza) AS tot,
(tblCode.complessive - tblCode.TOT) AS corrette,
SUM(Lavorata=TRUE)*-1 AS lavorati,
SUM(Lavorata=FALSE)*-1 AS dalavorare
FROM tblCode GROUP BY tblCode.Commessa, tblCode.data_Commessa


Qua forse ho preteso troppo, mi va in crisi probabilmente l'istruzione in grassetto.

gugoXX
11-05-2009, 14:25
... e questa?


SELECT commessa, data_Commessa, complessive,
COUNT(num_polizza) AS tot,
(tblCode.complessive - tblCode.TOT) AS corrette,
SUM(Lavorata=TRUE)*-1 AS lavorati,
SUM(Lavorata=FALSE)*-1 AS dalavorare
FROM tblCode GROUP BY tblCode.Commessa, tblCode.data_Commessa


Qua forse ho preteso troppo, mi va in crisi probabilmente l'istruzione in grassetto.

Non e' SQL Standard.
Se per ogni Commessa/DataCommessa ci fossero piu' "complessive" diverse e/o piu' "TOT" diverse, cosa si vorrebbe come risultato per il campo in grassetto?

Ovvero, i motori "seri" questa query la rifiutano.

Matrixbob
13-05-2009, 15:32
Non e' SQL Standard.
Se per ogni Commessa/DataCommessa ci fossero piu' "complessive" diverse e/o piu' "TOT" diverse, cosa si vorrebbe come risultato per il campo in grassetto?

Ovvero, i motori "seri" questa query la rifiutano.

Raggruppando anche per complessive funziona, male ma funziona. :D
Scherzo, ma il target era quello di creare "al volo nella fetch della select" anche un campo contenente la differenza tra i campi dei records ritornati.

gugoXX
13-05-2009, 15:47
Raggruppando anche per complessive funziona, male ma funziona. :D
Scherzo, ma il target era quello di creare "al volo nella fetch della select" anche un campo contenente la differenza tra i campi dei records ritornati.

L'approccio non era completamente sbagliato prima.
Solo dovevi decidere cosa volevi che fosse restituito in quei casi.
Magari la media, magari la differenza delle medie, etc.