Comparaison de données entre 2 tables
Fermé
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
-
Modifié le 12 juin 2019 à 21:53
jordane45 Messages postés 38274 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 novembre 2024 - 13 juin 2019 à 12:22
jordane45 Messages postés 38274 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 novembre 2024 - 13 juin 2019 à 12:22
A voir également:
- Comparaison de données entre 2 tables
- Word numéro de page 1/2 - Guide
- Reinstaller windows sans perte de données - Guide
- Effacer les données de navigation - Guide
- Tables des matières word - Guide
- 2 ecran pc - Guide
3 réponses
jordane45
Messages postés
38274
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 novembre 2024
4 696
13 juin 2019 à 00:04
13 juin 2019 à 00:04
Bonjour il nous faudrait connaître la structure exacte de ta table et disposer également d'un jeu de données pour pouvoir tester .
Est-ce que l'ordre des valeurs est également la même dans les deux tables ?
Est-ce que l'ordre des valeurs est également la même dans les deux tables ?
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
13 juin 2019 à 00:13
13 juin 2019 à 00:13
Merci Jordane,
Voici les 2 tables avec les données.
La différence des 16 enregistrements est CIV et VIC
Voici les données a comparer
Puisqu'il n'y a que 15/16 alors c'est "NON"
Voici les 2 tables avec les données.
La différence des 16 enregistrements est CIV et VIC
CREATE TABLE `tb_jeu_can_Q` ( `NumId` int(11) NOT NULL AUTO_INCREMENT, `Image` varchar(3) DEFAULT NULL, `Pays` varchar(255) DEFAULT NULL, `Tour_01` varchar(3) DEFAULT NULL, `Tour_02` varchar(3) DEFAULT NULL, `Tour_03` varchar(3) DEFAULT NULL, `Tour_04` varchar(3) DEFAULT NULL, `Tour_05` varchar(3) DEFAULT NULL, `Tour_05_scr` varchar(2) DEFAULT NULL, `Tour_06` varchar(3) DEFAULT NULL, `Tour_06_scr` varchar(2) DEFAULT NULL, `Slct_01` varchar(3) DEFAULT NULL, `Slct_01_scr` varchar(2) DEFAULT NULL, `Slct_02` varchar(3) DEFAULT NULL, `Slct_02_scr` varchar(2) DEFAULT NULL, `Slct_03` varchar(3) DEFAULT NULL, `Slct_03_scr` varchar(2) DEFAULT NULL, `Mtch_01` varchar(3) DEFAULT NULL, `Mtch_01_scr` varchar(2) DEFAULT NULL, `Mtch_02` varchar(3) DEFAULT NULL, `Mtch_02_scr` varchar(2) DEFAULT NULL, `Mtch_03` varchar(3) DEFAULT NULL, `Mtch_03_scr` varchar(2) DEFAULT NULL, `Mtch_04` varchar(3) DEFAULT NULL, `Mtch_04_scr` varchar(2) DEFAULT NULL, `Mtch_05` varchar(3) DEFAULT NULL, `Mtch_05_scr` varchar(2) DEFAULT NULL, PRIMARY KEY (`NumId`) ) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=utf8; INSERT INTO `tb_jeu_can_Q` VALUES (1,'ZAF','Afrique du sud',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ZAF','8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,'DZA','Algérie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'AGO','Angola',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,'BEN','Bénin','BEN',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,'BDI','Burundi','BDI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,'CMR','Cameroun','CMR','CMR','CMR',NULL,'CMR','9',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(7,'CIV','Côte d’Ivoire','CIV','CIV','CIV','CIV',NULL,NULL,'CIV','9','CIV','9','CIV','2','CIV','9','CIV','9','CIV','9','CIV','9','CIV','9','CIV','9'),(8,'EGY','Egypte','EGY','EGY','EGY','EGY',NULL,NULL,'EGY','8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EGY','8','EGY','8'),(9,'GHA','Ghana','GHA','GHA','GHA',NULL,'GHA','8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GHA','8',NULL,NULL,NULL,NULL),(10,'GIN','Guinée','GIN','GIN',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(11,'GNB','Guinée-Bissau','GNB','GNB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(12,'KEN','Kenya','KEN','KEN',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'KEN','8',NULL,NULL,NULL,NULL,NULL,NULL),(13,'MDG','Madagascar','MDG','MDG',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(14,'MLI','Mali','MLI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(15,'MAR','Maroc','MAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'MAR','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(16,'MRT','Mauritanie','MRT',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(17,'NAM','Namibie','NAM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NAM','8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(18,'NGA','Nigéria','NGA',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(19,'UGA','Ouganda','UGA',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'UGA','8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(20,'COG','R.D. Congo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(21,'SEN','Sénégal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(22,'TZA','Tanzanie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(23,'TUN','Tunisie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(24,'ZWE','Zimbabwe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); CREATE TABLE `tb_jeu_can_R` ( `NumId` int(11) NOT NULL AUTO_INCREMENT, `Pseudo` varchar(255) DEFAULT NULL, `Tour_01` varchar(3) DEFAULT '0', `Part_01` enum('0','1') DEFAULT '0', `Tour_02` varchar(3) DEFAULT '0', `Part_02` enum('0','1') DEFAULT '0', `Tour_03` varchar(3) DEFAULT '0', `Part_03` enum('0','1') DEFAULT '0', `Tour_04` varchar(3) DEFAULT '0', `Part_04` enum('0','1') DEFAULT '0', `Tour_05` varchar(3) DEFAULT '0', `Part_05` enum('0','1') DEFAULT '0', `Slct_01` varchar(3) DEFAULT '0', `Part_06` enum('0','1') DEFAULT '0', `Slct_02` varchar(3) DEFAULT '0', `Part_07` enum('0','1') DEFAULT '0', `Slct_03` varchar(3) DEFAULT '0', `Part_08` enum('0','1') DEFAULT '0', `Mtch_01` varchar(3) DEFAULT '0', `Part_09` enum('0','1') DEFAULT '0', `Mtch_02` varchar(3) DEFAULT '0', `Part_10` enum('0','1') DEFAULT '0', `Mtch_03` varchar(3) DEFAULT '0', `Part_11` enum('0','1') DEFAULT '0', `Mtch_04` varchar(3) DEFAULT '0', `Part_12` enum('0','1') DEFAULT '0', `Mtch_05` varchar(3) DEFAULT '0', `Part_13` enum('0','1') DEFAULT '0', PRIMARY KEY (`NumId`) ) ENGINE=MyISAM AUTO_INCREMENT=143 DEFAULT CHARSET=utf8; INSERT INTO `tb_jeu_can_R` VALUES (134,'ADMIN','BEN','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(133,'ADMIN','BDI','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(132,'ADMIN','CMR','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(131,'ADMIN','CI4','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(130,'ADMIN','EGY','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(129,'ADMIN','GHA','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(128,'ADMIN','GIN','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(127,'ADMIN','GNB','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(135,'ADMIN','KEN','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(136,'ADMIN','MDG','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(137,'ADMIN','MLI','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(138,'ADMIN','MAR','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(139,'ADMIN','MRT','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(140,'ADMIN','NAM','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(141,'ADMIN','NGA','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'),(142,'ADMIN','UGA','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0');
Voici les données a comparer
BEN BENSeulement dans le cas où 16/16 "OK" apparaît.
BDI BDI
CMR CMR
CIV VIC /*Voici l'intrus qui fera que "NON" sera affiché*/
EGY EGY
GHA GHA
GIN GIN
GNB GNB
KEN KEN
MDG MDG
MLI MLI
MAR MAR
MRT MRT
NAM NAM
NGA NGA
UGA UGA
Puisqu'il n'y a que 15/16 alors c'est "NON"
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
13 juin 2019 à 00:15
13 juin 2019 à 00:15
PS: L'ordre est généralement pas identique comme dans mon exemple.
L'utilisateur ne fera jamais cet ordre.
L'utilisateur ne fera jamais cet ordre.
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
13 juin 2019 à 00:20
13 juin 2019 à 00:20
J'ai testé ce code aussi :
Voici le résultat (qui omet CIV et VIC donc affiche 15/16 et met "OK"...
<?php $Stat_Z = $pdo->query(" SELECT Q.Tour_01 as Q_Tour_01 , R.Tour_01 as R_Tour_01 , IF (R.Tour_01 = Q.Tour_01, 'OK','NO') AS result FROM tb_jeu_can_Q AS Q LEFT JOIN tb_jeu_can_R AS R ON Q.Tour_01 = R.Tour_01 WHERE Q.Tour_01 IS NOT NULL AND R.Pseudo='".$_SESSION_PSEUDO."'"); $all_OK=true; while($all_OK && $data_Z = $Stat_Z->fetch(PDO::FETCH_ASSOC)){ $all_OK = ('OK'===$data_Z['result']); echo '<pre>',print_r($data_Z,true), '</pre><br>',PHP_EOL; } if( $all_OK ) { echo 'OK'; } else { echo 'NO'; } ?>
Voici le résultat (qui omet CIV et VIC donc affiche 15/16 et met "OK"...
Array ( [Q_Tour_01] => BEN [R_Tour_01] => BEN [result] => OK ) Array ( [Q_Tour_01] => BDI [R_Tour_01] => BDI [result] => OK ) Array ( [Q_Tour_01] => CMR [R_Tour_01] => CMR [result] => OK ) Array ( [Q_Tour_01] => EGY [R_Tour_01] => EGY [result] => OK ) Array ( [Q_Tour_01] => GHA [R_Tour_01] => GHA [result] => OK ) Array ( [Q_Tour_01] => GIN [R_Tour_01] => GIN [result] => OK ) Array ( [Q_Tour_01] => GNB [R_Tour_01] => GNB [result] => OK ) Array ( [Q_Tour_01] => KEN [R_Tour_01] => KEN [result] => OK ) Array ( [Q_Tour_01] => MDG [R_Tour_01] => MDG [result] => OK ) Array ( [Q_Tour_01] => MLI [R_Tour_01] => MLI [result] => OK ) Array ( [Q_Tour_01] => MAR [R_Tour_01] => MAR [result] => OK ) Array ( [Q_Tour_01] => MRT [R_Tour_01] => MRT [result] => OK ) Array ( [Q_Tour_01] => NAM [R_Tour_01] => NAM [result] => OK ) Array ( [Q_Tour_01] => NGA [R_Tour_01] => NGA [result] => OK ) Array ( [Q_Tour_01] => UGA [R_Tour_01] => UGA [result] => OK )
jordane45
Messages postés
38274
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 novembre 2024
4 696
13 juin 2019 à 12:22
13 juin 2019 à 12:22
Arghhhh...... puréeeee....
Je suppose ( enfin non... j'en suis même sûr....) que tu ne connais rien aux bases de données ni comment on les conçoit......
Il faut revoir la structure de ta base.
Il faut, à minima,
- une table JOUEURS
- une table JEUX
- une table TOURS
- une table PARTIES
- une table MATCHS
Je suppose ( enfin non... j'en suis même sûr....) que tu ne connais rien aux bases de données ni comment on les conçoit......
Il faut revoir la structure de ta base.
Il faut, à minima,
- une table JOUEURS
- une table JEUX
- une table TOURS
- une table PARTIES
- une table MATCHS