SQL Problème de In et not in
Mamok
-
ric -
ric -
Bonjour,
Je voudrais savoir s'il est possible à l'aide d'une seule requete de faire la chose suivante:
Supposons un ensemble d'objets présents dans la table STOCK.
Famille 1 : famille du 04/03/2004
Famille 2 : famille du 05/03/2004
des éléments de la famille 1 peuvent etre présents dans la famille 2 aussi et inversement.
Je désire récupérer récupérer la famille 1 + les élements de la faille 2 qui ne sont pas présents dans 1.
exemple:
requete de base avec un ou sur la date 04/03 ou 05/03
résultat:
CODE|champ1|date
729|256|04/03/2004
729|545|05/03/2004
856|423|05/03/2004
J'aimerais avoir
729|256|04/03/2004
856|423|05/03/2004
Merci d'avance
Mamok
Je voudrais savoir s'il est possible à l'aide d'une seule requete de faire la chose suivante:
Supposons un ensemble d'objets présents dans la table STOCK.
Famille 1 : famille du 04/03/2004
Famille 2 : famille du 05/03/2004
des éléments de la famille 1 peuvent etre présents dans la famille 2 aussi et inversement.
Je désire récupérer récupérer la famille 1 + les élements de la faille 2 qui ne sont pas présents dans 1.
exemple:
requete de base avec un ou sur la date 04/03 ou 05/03
résultat:
CODE|champ1|date
729|256|04/03/2004
729|545|05/03/2004
856|423|05/03/2004
J'aimerais avoir
729|256|04/03/2004
856|423|05/03/2004
Merci d'avance
Mamok
A voir également:
- SQL Problème de In et not in
- Girl in the basement streaming vf - Forum Cinéma / Télé
- Dc in - Forum Disque dur / SSD
- Aux in ✓ - Forum Enceintes / HiFi
- Navigation in private - Guide
- Peut-on brancher un casque sur une prise auxiliaire ? - Forum Casque et écouteurs
1 réponse
Bonsoir
Requete suivante OK en 0.0627 sec
SELECT t2.*
FROM user as t1, user as t2
WHERE (t1.date='04/03/2004'
AND t2.code=t1.code
AND t2.date=t1.date)
OR (t2.date='05/03/2004'
AND t2.code=t1.code
AND t2.date!=t1.date);
Requete suivante OK en 0.0572 sec
SELECT t2.*
FROM user as t1, user as t2
WHERE (t1.date='04/03/2004'
AND t2.code=t1.code
AND t2.date=t1.date)
OR (t2.date='05/03/2004'
AND t2.code=t1.code
AND t1.date='04/03/2004');
Requete suivante OK en 0.0040 sec
SELECT t2.*
FROM user as t1, user as t2
WHERE t1.date='04/03/2004'
AND t2.code=t1.code
AND (t2.date=t1.date
OR t2.date='05/03/2004');
La 3e est 15 fois plus rapide.
Requete suivante OK en 0.0627 sec
SELECT t2.*
FROM user as t1, user as t2
WHERE (t1.date='04/03/2004'
AND t2.code=t1.code
AND t2.date=t1.date)
OR (t2.date='05/03/2004'
AND t2.code=t1.code
AND t2.date!=t1.date);
Requete suivante OK en 0.0572 sec
SELECT t2.*
FROM user as t1, user as t2
WHERE (t1.date='04/03/2004'
AND t2.code=t1.code
AND t2.date=t1.date)
OR (t2.date='05/03/2004'
AND t2.code=t1.code
AND t1.date='04/03/2004');
Requete suivante OK en 0.0040 sec
SELECT t2.*
FROM user as t1, user as t2
WHERE t1.date='04/03/2004'
AND t2.code=t1.code
AND (t2.date=t1.date
OR t2.date='05/03/2004');
La 3e est 15 fois plus rapide.