Lavoro con QBE (grazie wikipedia ), vi mostro la query originale:
qui il relativo codice SQL:
SELECT pratica.NumRGE, contratti.DtAggiudicazione, contratti.Note, immobili.NumeroLotto, conduttori.CognomeRagSoc, contratti.NumeroContratto, frequenzacanoni.FrequenzaCanone, Max(pagamenti.DataPagamento) AS MaxDiDataPagamento, contratti.DtInvioAvviso, tipouso.descrizioneUso, procedimenti.DtAffido, contratti.ImportoCanone, contratti.Cessato, pratica.Estinzione, Imm_Pratiche.Stato2, contratti.idtipouso
FROM ((((((contratti LEFT JOIN pagamenti ON contratti.IdContratto = pagamenti.IdContratto) LEFT JOIN procedimenti ON contratti.IdContratto = procedimenti.IdContratto) LEFT JOIN immobili ON contratti.IdImmobile = immobili.IdImmobile) LEFT JOIN (pratica LEFT JOIN Imm_Pratiche ON pratica.NumRGE = Imm_Pratiche.NumeroRge) ON contratti.IdPratica = pratica.PraticaID) LEFT JOIN frequenzacanoni ON contratti.IdFrequenza = frequenzacanoni.FrequenzaID) LEFT JOIN conduttori ON contratti.IdConduttore = conduttori.ConduttoreID) LEFT JOIN tipouso ON contratti.idtipouso = tipouso.idtipouso
GROUP BY pratica.NumRGE, contratti.DtAggiudicazione, contratti.Note, immobili.NumeroLotto, conduttori.CognomeRagSoc, contratti.NumeroContratto, frequenzacanoni.FrequenzaCanone, contratti.DtInvioAvviso, tipouso.descrizioneUso, procedimenti.DtAffido, contratti.ImportoCanone, contratti.Cessato, pratica.Estinzione, Imm_Pratiche.Stato2, contratti.idtipouso
HAVING (((Max(pagamenti.DataPagamento))<Date()-60 Or (Max(pagamenti.DataPagamento)) Is Null) AND ((contratti.DtInvioAvviso)<Date()-60 Or (contratti.DtInvioAvviso) Is Null) AND ((procedimenti.DtAffido) Is Null) AND ((contratti.Cessato)=False) AND ((pratica.Estinzione) Is Null) AND ((Imm_Pratiche.Stato2)<>4));[/code]
Non ho idea di come risolvere.