J'ai deux tables table1
= enregistrements, table2
= doublons. Les deux tables contiennent un nombre variable de colonnes à un moment donné et elles contiennent toutes les deux exactement les mêmes colonnes à l'exception de table2
ayant une colonne supplémentaire ID
... Les deux tables contiennent une colonne, user_id
. Les données proviennent d'une importation CSV. Si le user_id
existe déjà dans table1
, il est inséré dans table2
.Comparaison de données entre deux tables MySQL avec PHP
Avec table2
Je dois être en mesure de saisir toutes les lignes et les imprimer dans un tableau, pas de problème. La partie que j'ai du mal à comprendre ... Pour chaque colonne en table2
qui est imprimée, je dois vérifier si les données correspondent (sur la base du user_id
) aux données en table1
et en quelque sorte le marquer ... (peut-être un différent fond coloré sur la cellule du tableau)
Exemple:
table1
contient la ligne:
user_id | user_name
-------------------
2342342 | some name
et table2
:
user_id | user_name
-------------------
2342342 | different name
alors la sortie serait:
-----------------------------------------
|2342342 | *flag* different name *flag* |
-----------------------------------------
Toute idée de comment je pourrais faire ce travail? Si ça aide, je construis cette application avec Codeigniter.
C'est vraiment proche de ce que j'essaie de faire! à l'exception de ... J'ai juste besoin de savoir si la colonne "is_different" - de cette façon je peux simplement mettre en surbrillance juste "user_name" (ou toute autre colonne) est-ce possible? Une autre chose, le nombre de pourrait changer à tout moment, suggérez-vous de construire la requête avec php en premier ou y a-t-il un moyen de faire "IF (table2.user_name! = Table1.user_name, 1, 0) AS is_different" pour chaque colonne dynamiquement avec mysql? Merci beaucoup! – mike
Si je vous ai bien compris; bien sûr, vous pouvez comparer toutes les colonnes avec la même méthode. La seule chose qui compte est que les ID des lignes comparées sont égaux (évidemment). J'ai édité ma réponse pour vous montrer comment ajouter plusieurs tests dans une requête. –
ah ... je vois, c'est parfaitement logique maintenant. Merci! – mike