Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
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 31/03/2011, 19h42   #1
Expert Confirmé Sénior
 
Avatar de Paul TOTH
 
Homme Paul TOTH
Freelance
Inscription : novembre 2002
Messages : 3 405
Détails du profil
Informations personnelles :
Nom : Homme Paul TOTH
Âge : 42
Localisation : Réunion

Informations professionnelles :
Activité : Freelance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2002
Messages : 3 405
Points : 6 676
Points : 6 676
Par défaut Les enfants avec un ballon rouge ET un ballon bleu

Bonjour,

est-il possible de coder cette requête autrement (doit fonctionner sur MySQL, Oracle, MSSQL et PostgreSQL...rien que ça )

Code :
1
2
3
4
5
6
 
SELECTFROMWHEREAND (
  ( champ_id = valeur1 AND EXISTS(SELECTFROMWHERE ... AND champ_id = valeur_2)
OR
  ( champ_id = valeur2 AND EXISTS(SELECTFROMWHERE ... AND champ_id = valeur_1)
)
je veux donc des couples d'enregistrements avec champ_id qui vaux valeur1 ET valeur2

tout cela se fait au sein d'un générateur de requête et je suis dans la partie "WHERE" de la requête, je peux donc difficilement construire une sous-requête de la requête elle-même car elle n'est pas encore totalement définie.

le cas "champ_id = valeur1 OR champ_id = valeur2" est facile, mais évidemment je ne peux pas utiliser AND car le test se fait sur deux lignes.

je pense que le problème n'a pas de solution, mais n'étant pas expert SQL...sait-on jamais

Merci
__________________
Developpez.com: Mes articles
Entreprise: Execute SARL
Produits : UPnP, RemoteOffice sous Delphi
Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%
Paul TOTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 01h25   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 442
Points : 10 442
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
C'est possible :
Code :
1
2
3
4
5
  SELECT <...>
    FROM <...>
   WHERE champ_id IN (valeur1, valeur2)
GROUP BY <...>
  HAVING count(DISTINCT champ_id) = 2
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 06h42   #3
Expert Confirmé Sénior
 
Avatar de Paul TOTH
 
Homme Paul TOTH
Freelance
Inscription : novembre 2002
Messages : 3 405
Détails du profil
Informations personnelles :
Nom : Homme Paul TOTH
Âge : 42
Localisation : Réunion

Informations professionnelles :
Activité : Freelance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2002
Messages : 3 405
Points : 6 676
Points : 6 676
c'est vrai que je n'utilise jamais HAVING, je vais voir si je peux intégrer cela.

Merci
__________________
Developpez.com: Mes articles
Entreprise: Execute SARL
Produits : UPnP, RemoteOffice sous Delphi
Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%
Paul TOTH 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 04h01.


 
 
 
 
Partenaires

Hébergement Web