Ciao king size slim ,
in pratica su una tabella dovrei cercare tutti i record con i campi uguali e settare flag=0 sui record trovati. Tutti i record trovati, eccetto l'ultimo in ordine cronologico.
come si vede nella tabella esempio che ho fatto
l'id 1 e il 4 hanno i campi uguali. il prodotto finale deve essere che il 4 rimane con flag=1 e che l'1 (e tutti gli altri precedenti se ci fossero) dovrebbero avere flag=0
Ora ho risolto comunque.
Non so se la strada è la più breve, ma l'sql funziona e fa quello che deve fare :-)
Codice PHP:
UPDATE tab t1
SET
t1.flag = 0
WHERE
t1.flag = 1 AND t1.record < (
SELECT t2.record FROM (
SELECT *
FROM tab
WHERE flag = 1
) AS t2
WHERE
t2.field1 = t1.field1 AND
t2.field2 = t1.field2 AND
t2.field3 = t1.field3 AND
t2.id != t1.id
);