Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
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 20/12/2011, 18h22   #1
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 466
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 466
Points : 655
Points : 655
Par défaut Having en requete

Bonjour tous le monde.
Je veux savoir est ce que cette requête est bonne en écriture .
Code :
1
2
3
4
5
 
SELECT champ1, (SELECT champ2 FROM table2 dc WHERE dc.t_id = ve.id) AS champ3
FROM table1							  
HAVING champ3 IN ('', NULL, 'deleted')
ORDER BY champ1 DESC
ou je dois faire

Code :
1
2
3
4
5
 
SELECT champ1, (SELECT champ2 FROM table2 dc WHERE dc.t_id = ve.id) AS champ3
FROM table1							  
WHERE (SELECT champ2 FROM table2 dc WHERE dc.t_id = ve.id) IN ('', NULL, 'deleted')
ORDER BY champ1 DESC
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 18h31   #2
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 928
Points : 1 928
Aucune des 2 requêtes n'est correcte, pourquoi ne pas utiliser une simple jointure ?
Code :
1
2
3
4
5
SELECT ve.col1, dc.col2
  FROM table1 ve
  JOIN table2 dc ON dc.t_id = ve.id
 WHERE dc.col2 IN ('', NULL, 'deleted')
 ORDER BY ve.col1 DESC
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 18h55   #3
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 466
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 466
Points : 655
Points : 655
Merci pour votre réponse.

Ma requête est plus grande que celle mit dans l'exemple.
Il peut n'avoir pas de ligne en jointure normale.
Et je récupère qu'un seul champ
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 19h48   #4
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 928
Points : 1 928
Citation:
Envoyé par m4riachi Voir le message
Il peut n'avoir pas de ligne en jointure normale.
Dans ce cas il faut utiliser une jointure externe : LEFT OUTER JOIN par exemple
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h24.


 
 
 
 
Partenaires

Hébergement Web