PDA

Visualizza la versione completa : [SQL] Semplice Select con clausola DISTINCT


azz00
20-03-2008, 16:32
ragazzo ho una tabella ed ho bisogno di far uscire le righe con valori di un campo distinti

vi do la quary:
Select Distinct idCliente, iduser, dataLavorazione, dataApertira From UtentiLavorazione WHERE dataLavorazione is not null Order By dataLavorazione DESC

vorrei che le righe distinte siano riferite all'idCliente ma non mi funziona, come la devo modificare?

123delphi321
20-03-2008, 16:35
la clausola Distinct restituisce un dataresoult di 'righe' diverse tra loro,....quindi basta che sia diverso anche un solo valore di un qualsiasi field

semmai posta il risultato che ottieni, cosi capirò meglio


ciao

azz00
20-03-2008, 16:41
ottengo tutti i campi della tabella
ora ti posto un esempio di dati contenuti

idCliente | idUser | dataLavorazione | dataApertira
2 13 6/6/2004 3/3/2004
4 14 12/4/2005 12/5/2004
4 15 14/5/2005 14/4/2004

io vorrei che uscissero solamente le prime 2 righe in quanto la seconda e la terza riga hanno idCliente uquali

123delphi321
20-03-2008, 16:45
e secondo quale criterio vorresti solo la prima di queste 2?

4 14 12/4/2005 12/5/2004
4 15 14/5/2005 14/4/2004

dipende dalla data????

azz00
20-03-2008, 16:46
potrebbe andar bene dataLavorazione decrescente

123delphi321
20-03-2008, 17:00
se mi posso permettere ti consiglierei di scrivere la quiry in maniera anche più leggibile:

select distinct
utentilavorazione.idcliente,
utentilavorazione.iduser,
utentilavorazione.datalavorazione,
utentilavorazione.dataapertira
from utentilavorazione
where utentilavorazione.datalavorazione is not null
order by utentilavorazione.datalavorazione desc


inserisci sempre il nome della tabella quando indichi il field.


non capisco il senso della tua query ma potresti risolvere cosi:

select
utentilavorazione.idcliente,
min(utentilavorazione.iduser),
min(utentilavorazione.datalavorazione),
min(utentilavorazione.dataapertira)
from utentilavorazione
where utentilavorazione.datalavorazione is not null
group by
utentilavorazione.idcliente

ma devi capire se tale risultato e' buono per il tuo scopo

ciao

azz00
20-03-2008, 19:17
allora ti spiego meglio cosa mi serve dalla quary!

ho una tabella con dei clienti e una tabella che mi dice quando un utente modifica la tabella clienti

ogni utente che modifica un cliente ha un record con la sua id, l'id del cliente e le date di apertura pratica e data di modifica della pratica

ora quello che mi serve è una quary con i clienti che hanno subito modifiche.

quindi mi serve un solo record x ogni cliente con la data dell'ultima modifica della pratica! come devo fare?

123delphi321
20-03-2008, 19:19
che database usi?

azz00
20-03-2008, 19:21
ti posto anche le associazioni e la quary attuale sviluppata con visual studio

azz00
20-03-2008, 19:22
access

Loading