Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/08/2007, 11h36   #1
En attente de confirmation mail
 
Inscription : août 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 2
Points : 2
Points : 2
Par défaut Requete intersection avec Pg 8.2

Je dois effectué une requete intersection avec 2 select

select1 : SELECT dossier.iddossier, adresse, numdossier FROM dossier, action WHERE idaction=3 And dosactdate < '2007-10-20' and dossier.iddossier=idaction.iddossier

select2 : SELECT dossier.iddossier FROM dossier, action WHERE idaction !=5 and dossier.iddossier=idaction.iddossier

J'ai essayé SELECT1 INTERSECT SELECT2 =>

et aussi SELECT1 AND dossier.iddossier IN (SELECT2) =>

Quelqu'un a-t-il une idée
Goldorak59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 18h48   #2
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
Je pense qu'il y a moyen de faire plus simple.

mais je vais exposer plusieurs solutions

Deja, on reecrit les requetes, en plus "SQL"

select1 : SELECT d.iddossier, adresse, numdossier FROM dossier d INNER JOIN action a ON (d.iddossier=a.iddossier) WHERE idaction=3 And dosactdate < '2007-10-20';

select2 : SELECT d.iddossier, adresse, numdossier FROM dossier d INNER JOIN action a ON (d.iddossier=a.iddossier) WHERE idaction !=5


INTERSECT fonctionne, mais il faut spécifier meme champs.

Mais il suffit juste d'optimiser la requete, en la combinant :

SELECT d.iddossier, adresse, numdossier FROM dossier d INNER JOIN action a ON (d.iddossier=a.iddossier) WHERE (idaction=3 And dosactdate < '2007-10-20') OR (idaction !=5);
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h43.


 
 
 
 
Partenaires

Hébergement Web