[gl-como] Query MySql/Php
Riccardo Penco
r.penco@scasinet.com
Ven 16 Feb 2007 10:41:08 CET
Carlo Filippetto ha scritto:
> Alla fine lo farņ col php..
> query normale in cui estraggo tutti i cod_id
> poi li elaboro tirando fiori tutti i valori e li confronto, se ci sono
> doppioni elimino!!
>
> Fine
Ti consiglio poi di mettere un indice univoco in modo che un eventuale
tentativo di inserimento di un doppione fallirebbe
>
> Cmq quello che non avevo capito della tua query era:
> creare un "id" al volo -> cod_id + "_" + date + in + out
>
non sono sicuro di avere bene inteso il tuo problema e non sono esperto
di MySQL ma, se supporta le sub-select, penso che la cosa sia fattibile.
qualcosa di simile:
La tua tabella:
id // valore auto_increment
cod_id // codice identificativo
in // valore in ingresso
out // valore in uscita
data_lett // data della lettura
la subselect che chiamo T1 contiene i cod_id, in e out raggruppati
mostrando solo il valore minimo della data di lettura.
Dalla tabella elimino tutti i record con gli stessi valori di cod_id, in
e out che abbiano un valore diverso per la data_lett rispetto al valore
minimo.
delete TT
from tabella TT
inner join
(select T.cod_id, T.in, T.out, min(data_lett) as DataDaTenere |
from tabella T |-> T1
group by T.cod_id, T.in, T.out) T1 |
on TT.cod_id = T1.cod_id and TT.in = T1.in and TT.out = T1.out
where TT.data_lett <> T1.DataDaTenere
_OVVIAMENTE_, nel caso tu decidessi di eseguirla, ti consiglio di
effettuare prima un bel backup del db!!
>
> CIAO
ciao
riki
Maggiori informazioni sulla lista
gl-como