Différence entre deux requêtes - SQL/NoSQL - Programmation
Marsh Posté le 05-01-2010 à 09:46:16
1/ la première requête effectue une jointure ouverte avec le langage abominable d'Oracle
2/ réécrit la première comme ça :
Code :
|
3/ Rajoute "where b2.num is null" pour avoir ta réponse
3bis/ Ou réécrit ta requête comme suit :
Code :
|
PS : à l'interprétation du "(+)" près, je sais jamais si c'est left ou right outer join...
Marsh Posté le 05-01-2010 à 10:21:58
Je ne peux malheureusement pas utiliser de LEFT OUTER JOIN ...
Base trop ancienne
Marsh Posté le 05-01-2010 à 10:40:34
Fonctionne mais me donne pas les 601 résultats que j'attends.
Je vais procéder d'une manière différente, merci pour ton aide.
Marsh Posté le 05-01-2010 à 10:44:46
ben inverse le base1 et le base2 dans ma requête, c'est certainement mon interprétation du (+) qui est fausse
parce que la logique de la requête doit te donner les résultat que tu attends
Marsh Posté le 05-01-2010 à 13:58:44
Avec un Minus ? (linverse de l'INTERSECT)
Requête 1
MINUS
Requête 2
Marsh Posté le 05-01-2010 à 14:32:17
si le left outer join est pas supporté par cette version d'oracle, je doute fortement que le minus le soit. à ma connaissance, le minus est arrivé après (perso, je l'ai jamais vu, alors que j'ai déjà travaillé avec les outer join)
Marsh Posté le 05-01-2010 à 14:41:37
Je dirais la 8i pour le MINUS, à confirmer...
Marsh Posté le 05-01-2010 à 15:12:10
on le retrouve dans le Oracle8i SQL Reference : http://download.oracle.com/docs/cd [...] /index.htm
je suis pas allé chercher plus avant
Marsh Posté le 05-01-2010 à 15:52:09
ok. bon, ben je dois confondre avec un autre truc, j'étais persuadé de jamais l'avoir utilisé sous oracle...
Marsh Posté le 05-01-2010 à 08:34:10
Bonjour à tous.
J'aimerais que cette requête :
Soit "soustraite" à celle la :
Pour avoir la différence entre les deux.
J'ai essayé avec un not exists mais je ne pense pas que ça fonctionne car quand j'exécute la première j'ai 5782 résultats, avec la deuxième j'en ai 5181, avec mon not exist je me retrouve avec plus de 7000 lignes, alors qu'avec une requête de différence je devais avoir les 601 lignes différentes entre les deux.
Merci de votre aide.