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

Query su tabella

1 view
Skip to first unread message

peppe

unread,
May 26, 2005, 10:54:05 AM5/26/05
to
Salve a tutti
ho creato una query su una tabella selezionando i seguenti campi:
id
data
numero
descrizione
vorrei impostare sul campo data una condizione
vorrei filtrare i records che hanno la data più vicina alla data odierna
mi spiego meglio con un esempio
id data numero descrizione
10 24/05/2005 15 prova
8 20/05/2005 15 prova1

come si vede dall'esempio il campo numero è uguale in tutti e due i records
ma la query dovrebbe restituire solo il primo

qualcuno mi può aiutare ?
grazie

MA

unread,
May 26, 2005, 11:03:19 AM5/26/05
to

No può farlo così.
lui raggruppa e somma i record che son uguali
se tu avessi fatto
mese SommadiNumero descrizione
month("[data]") 30 prova
se prova e prova1 fosser uguali, ma vedendone due diversi giustamente li
separa

>
> qualcuno mi può aiutare ?
> grazie

--
_ _
Ciao
MAssimiliano Amendola www.accessgroup.it
Cisa1 - I° Conferenza Italiana per Sviluppatori Access Arezzo 4+5
Giugno 2005 Sono aperte le iscrizioni Info: www.donkarl.com/it


peppe

unread,
May 26, 2005, 1:33:09 PM5/26/05
to
ciao Massimiliano
sicuramente non sono stato molto chiaro
io vorrei vedere solo il record che è più vicino alla data odierna
pensavo che nella query
nei criteri del campo data potevo scrivere tipo
where data ecc
spero di essere stato più chiaro

ciao

"MA" ha scritto:

giorgio rancati

unread,
May 26, 2005, 7:54:17 PM5/26/05
to
"peppe" <pe...@discussions.microsoft.com> ha scritto nel messaggio
news:2B7FF6FA-BA26-4E52...@microsoft.com...


Ciao Peppe,

Soluzione 1 forse più intuitiva
---
Select *
From Tabella AS T1
Where Data=(Select Max(Data)
From Tabella AS T2
Where T2.Numero=T1.Numero)
---

Soluzione 2 più performante
---
Select T1.*
From Tabella AS T1
Inner Join
(Select Max(Data) AS MaxData, Numero
From Tabella
Group By Numero) AS T2
ON T1.Data=T2.MaxData AND T1.Numero=T2.Numero
---


Ciao
--
Giorgio Rancati
[Office Access MVP]


giorgio rancati

unread,
May 27, 2005, 2:33:24 AM5/27/05
to
"giorgio rancati" <giorgio_No_Sp...@tiscali.it> ha scritto nel
messaggio news:epUdK4k...@TK2MSFTNGP12.phx.gbl...
[CUT]

> > vorrei impostare sul campo data una condizione
> > vorrei filtrare i records che hanno la data più vicina alla data odierna
> > mi spiego meglio con un esempio

Ciao peppe,

se la tua tabella contiene valori di data che vanno oltre la data odierna
puoi usare questa soluzione.
---
SELECT *
FROM Tabella AS T1
WHERE T1.Data=(Select Top 1 Data


From Tabella AS T2
Where T2.Numero=T1.Numero

AND T2.Data<=Date()
Order By Data DESC)

0 new messages