Je suis en utilisant cette requête select avec jointure gauche:
$updaterbk = "SELECT j1. *
FROM jos_audittrail j1
LEFT OUTER JOIN jos_audittrail j2 ON (j1.trackid != j2.trackid
AND j1.field != j2.field
AND j1.changedone < j2.changedone)
WHERE j1.operation = 'UPDATE'
AND j2.id IS NULL
";
qui me sort un tableau:
Array
(
[0] => Array
(
[id] => 137
[trackid] => 153
[table_name] => jos_menu
[operation] => UPDATE
[oldvalue] => 0
[newvalue] => 62
[field] => checked_out
[live] => 0
[changedone] => 2010-05-11 17:46:28
)
[1] => Array
(
[id] => 138
[trackid] => 153
[table_name] => jos_menu
[operation] => UPDATE
[oldvalue] => 0000-00-00 00:00:00
[newvalue] => 2010-05-11 12:16:28
[field] => checked_out_time
[live] => 0
[changedone] => 2010-05-11 17:46:28
)
[2] => Array
(
[id] => 139
[trackid] => 153
[table_name] => jos_menu
[operation] => UPDATE
[oldvalue] => Subhash
[newvalue] => Subhashgfhfgh
[field] => name
[live] => 0
[changedone] => 2010-05-11 17:46:35
)
[3] => Array
(
[id] => 140
[trackid] => 153
[table_name] => jos_menu
[operation] => UPDATE
[oldvalue] => subhash
[newvalue] => subhashhfhf
[field] => alias
[live] => 0
[changedone] => 2010-05-11 17:46:35
)
[4] => Array
(
[id] => 141
[trackid] => 153
[table_name] => jos_menu
[operation] => UPDATE
[oldvalue] => 62
[newvalue] => 0
[field] => checked_out
[live] => 0
[changedone] => 2010-05-11 17:46:35
)
[5] => Array
(
[id] => 142
[trackid] => 153
[table_name] => jos_menu
[operation] => UPDATE
[oldvalue] => 2010-05-11 12:16:28
[newvalue] => 0000-00-00 00:00:00
[field] => checked_out_time
[live] => 0
[changedone] => 2010-05-11 17:46:35
)
)
ici dans ce tableau, je ne veux pas toutes les valeurs à afficher deux fois, à savoir que je ned la première occurrence de la valeur seulement. Maintenant, vous pouvez voir que l'index "field" a des valeurs répétées, c'est-à-dire "checked_out" et "checked_out_time" d'autres index ont une occurrence unique, maintenant que dois-je faire pour sélectionner/saisir la première occurrence des valeurs répétitives seulement?
C'est long, mais pas clair. Quel résultat attendez-vous, dans cet exemple? – blinry