SQL différences entre 2 tables
Résolu/Fermé
A voir également:
- Sql comparer deux tables
- Deux ecran pc - Guide
- Tables des matières word - Guide
- Itinéraire google map entre deux adresses - Guide
- Deux comptes whatsapp - Guide
- Faire deux colonnes sur word - Guide
3 réponses
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
26 août 2010 à 15:42
26 août 2010 à 15:42
Hello,
Lis ceci: http://www.dba-oracle.com/t_convert_set_to_join_sql_parameter.htm
++
Lis ceci: http://www.dba-oracle.com/t_convert_set_to_join_sql_parameter.htm
++
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
26 août 2010 à 15:52
26 août 2010 à 15:52
Et pis, avec Oracle, il y a aussi cette possibilité http://www.dba-oracle.com/t_sql_subtract_result_sets.htm Sais pas pour les autres bases de données.
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
26 août 2010 à 16:46
26 août 2010 à 16:46
Euh, je ne pige pas moi non plus. Lol. J'avais donné le lien à cause de s simplicité et car je connais le gars (il a d'autres manières de faire moins absconses XD)
Mais, de toute manière, il me semble (à tester) que le SUBTRACT (ou MINUS) devrait marcher si tu fais un SELECT sur plusieurs colonnes (à savoir, toutes les colonnes de ta table).
On arriverait donc à
SELECT col1, col2, col3
FROM t1
MINUS
SELECT col1, col2, col3
FROM t2
union
SELECT col1, col2, col3
FROM t2
MINUS
SELECT col1, col2, col3
FROM t1
Hum. A tester
Mais, de toute manière, il me semble (à tester) que le SUBTRACT (ou MINUS) devrait marcher si tu fais un SELECT sur plusieurs colonnes (à savoir, toutes les colonnes de ta table).
On arriverait donc à
SELECT col1, col2, col3
FROM t1
MINUS
SELECT col1, col2, col3
FROM t2
union
SELECT col1, col2, col3
FROM t2
MINUS
SELECT col1, col2, col3
FROM t1
Hum. A tester
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
26 août 2010 à 17:48
26 août 2010 à 17:48
Mdrr. Lol. Donc mon beau 1er lien théorique (que je n'ai même pas lu, mais bon, j'ai pris quand même le soin d'admirer les tophos) est inutile ?
Snifeu.
Snifeu.
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
26 août 2010 à 15:50
26 août 2010 à 15:50
Ben il y a SUBTRACT mais c'est pour avoir les différences sur les PK... Si tu te contenterais de voir les différences au niveau de la PK, une union de 2 subtract ferait l'affaire. MAis comme t'es gourmand, ça se paie :)
++
++
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
26 août 2010 à 16:01
26 août 2010 à 16:01
PK = primary key. M'enfin, pas vraiment nécessaire, un simple index suffit.
26 août 2010 à 15:47
comment ça se fait qu'il n'existe pas de petiote requete toute simple ?
(j'avais essayé de combiner les 2 left join sur chacun des champs union les 2 right join ... mais c'est trop complexe !!)
26 août 2010 à 15:53
genre si t'as une table voiture_deluxe avec un champs ID_MARQUE
et une table voiture_pourrie avec un champs ID_MARQUE
si tu veux les marques des voitures_deluxe qui sont pas dans voiture_pourrie ça donne :
select a.ID_MARQUE from voiture_deluxe a where a.ID_MARQUE not in (select b.ID_MARQUE voiture_pourrie b);
en gros tu regarde les a.ID_MARQUE qui sont pas dans le résultats du select de la table voiture_pourrie.
26 août 2010 à 16:00
Si on suppose que l'ID_Marque, c'est le champs 2 dans mon exemple
avec ta methode, je ne remonterai pas les lignes ou ID_Marque = 3
Parce que j'aurai un 3 dans chaque table ... mais ils ne correpondront pas à la même voiture
26 août 2010 à 16:12
26 août 2010 à 16:20