Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

query unione parziale

18 views
Skip to first unread message

Giuseppe Cardascia

unread,
Feb 13, 2024, 9:49:55 AM2/13/24
to
Buon pomeriggio a tutti.
Il risultato sperato è quello di estrapolare dalla tabella tblDegenzeMensili i record relativi ai mesi in cui sono state registrate le presenze giornaliere e dalla tabella tblDegenzeMensiliTemp solo quelli in cui i mesi non sono presenti nella prima tabella.
L'origine query è:
SELECT DISTINCT tblDegenzeMensili.IdDegenzaMensile, tblDegenzeMensili.IDDegenza, tblDegenzeMensili.Anno, tblDegenzeMensili.IDMese, tblDegenzeMensili.[1], tblDegenzeMensili.[2], tblDegenzeMensili.[3], ecc..
FROM tblDegenzeMensili INNER JOIN tblDegenzeMensiliTemp ON tblDegenzeMensili.Anno = tblDegenzeMensiliTemp.Anno
WHERE tblDegenzeMensili.Anno = 2024


UNION SELECT tblDegenzeMensili.IdDegenzaMensile, tblDegenzeMensili.IDDegenza, tblDegenzeMensili.Anno, tblDegenzeMensiliTemp.IDMese, tblDegenzeMensili.[1], tblDegenzeMensiliTemp.[2], tblDegenzeMensiliTemp.[3], eccc
FROM tblDegenzeMensili INNER JOIN tblDegenzeMensiliTemp ON tblDegenzeMensili.Anno = tblDegenzeMensiliTemp.Anno
WHERE tblDegenzeMensiliTemp.Anno = 2024;

La query mi restituisce due record per ogni mese in cui sono presenti le presenze e un record dalla tabella temporanea se mancano nella prima.

Ho provato a modificare la condizione WHERE della seconda tabella con WHERE Anno = 2024 AND IDMese NOT IN (SELECT IDMese FROM tblDegenzeMensili WHERE Anno = 2024) ma mi restituisce solo i record in cui l'anno e il mese sono presenti in entrambe le tabelle.

Come devo modificare l'SQL?

Grazie.
Giuseppe
0 new messages