751 messaggi dal 03 maggio 2002
www.albain.com
Ho una query che mi tira fuori tutte le modifiche effettuate da determinati utenti su determinati lavori.

Dopo che l'ha fatto, crea un elenco con tutti i lavori, compresi quelli in cui non sono state effettuate modifiche. Questo lo fa tramite una tabella hce contiene tutti i lavori.

Ecco la quesy, perfettamente funzionante:

"SELECT SETTORI.Nome, COMMESSE.Nome, Modifiche.mese, Modifiche.anno, Sum(Modifiche.ore) AS SommaDiore, Modifiche.collaboratore,COMMESSE.colore, COMMESSE.coloretesto, modifiche.costoorario FROM collaboratori INNER JOIN ((COMMESSE INNER JOIN SETTORI ON COMMESSE.legataa = SETTORI.Nome) INNER JOIN Modifiche ON COMMESSE.Nome = Modifiche.NOMEcommessa) ON collaboratori.ut = Modifiche.collaboratore WHERE collaboratori.UT <> collaboratori.legatoa *******(AND modifiche.anno = 2005)*** GROUP BY SETTORI.Nome, COMMESSE.Nome, COMMESSE.ID, SETTORI.ID, Modifiche.mese, Modifiche.anno, Modifiche.collaboratore, Modifiche.collaboratore, COMMESSE.colore, COMMESSE.coloretesto, modifiche.costoorario UNION select COMMESSE.legataa, COMMESSE.Nome, COMMESSE.ID, COMMESSE.ID, COMMESSE.ID, COMMESSE.ID, COMMESSE.colore, COMMESSE.coloretesto, COMMESSE.ID FROM COMMESSE,SETTORI WHERE (COMMESSE.nome <> all (SELECT NOMEcommessa FROM modifiche) AND SETTORI.Nome <> all (SELECT NOMEsettore FROM modifiche)) ORDER BY SETTORI.Nome, COMMESSE.Nome, Modifiche.collaboratore, Modifiche.anno, Modifiche.mese"

Se a questa aggiungo una causa di WHERE, nel punto indicato da molti asterischi (aggiungo cosa indicato tra parentesi), il resto della query (dopo la union) che di solito mi restituisce tutti gli altri lavori sui quali non sono state effettuate modifiche, non funziona più. Perchè questo? so che è quasi impossibile se non si conoscono le tabelle e il caso, ma confido nella mente di qualcuno che conosca bene le query (LA UNION DOVREBBE RESTITUIRMI TUTTI I LAVORI SENZA MODIFICHE A PRESCINDERE DALLA WHERE!!!!!!!!senza i doppi!)

 Tutto si può fare, quando si stà per affogare si impara a nuotare
17 messaggi dal 27 gennaio 2006
www.marcopipino.it
Cosa vuol dire non funziona più ti restituisce un errore o ti restituisce dati errati?
751 messaggi dal 03 maggio 2002
www.albain.com
Nessun errore, semplicemente non mi tira più tutti i lavori in più (oltre a quelli modificati da qualche dipendente)che non sono stati modificati.

Questo mi serve per fare un report annuale di tutti i lavori eseguiti(nelle quali sono stati inserite ore lavorate) diviso per collaboratori ma anche tutti gli altri nelle quali non sono stati inseriti ore di lavoro. Il DB è access, quindi non posso usare query troppo complesse.

Cmq rettifico la prima query che ho scritto. Dopo la UNION deve solo essere così: UNION select COMMESSE.legataa, COMMESSE.Nome, COMMESSE.ID, COMMESSE.ID, COMMESSE.ID, COMMESSE.ID, COMMESSE.colore, COMMESSE.coloretesto, COMMESSE.ID FROM COMMESSE,SETTORI

 Tutto si può fare, quando si stà per affogare si impara a nuotare
751 messaggi dal 03 maggio 2002
www.albain.com
rettifico?? scusate!

 Tutto si può fare, quando si stà per affogare si impara a nuotare

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.