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 11/07/2011, 15h23   #1
Membre à l'essai
 
Inscription : janvier 2005
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 77
Points : 20
Points : 20
Par défaut Une seconde requête si la première ne donne rien

Bonjour,

Pour un programme, je dois faire une requête SQL :

Code :
1
2
3
4
5
SELECT * FROM TABLE 
WHERE champ1 = variable1 
AND champ2 = variable2 
AND champ3 = variable3 
AND champ4 = variable4
Et si la requête ne retourne rien, je dois faire presque exactement la même requête, je dois simplement retirer un des test du where

Code :
1
2
3
4
SELECT * FROM TABLE 
WHERE champ1 = variable1 
AND champ2 = variable2  
AND champ4 = variable4
Je me demandais s'il est possible de faire tout ça dans une seule requête plutôt que de programmer le "select, if, else, autre select".

J'ai cherché un peu sur internet mais je n'arrive pas à formuler correctement ce que je cherche en une phrase.

Quelqu'un sait si c'est possible?

Merci d'avance.
Kaori est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h01   #2
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 445
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 445
Points : 7 532
Points : 7 532
Comme ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SELECT  *
FROM    TABLE 
WHERE   champ1 = variable1 
    AND champ2 = variable2 
    AND champ3 = variable3 
    AND champ4 = variable4
UNION ALL
SELECT  *
FROM    TABLE
WHERE   champ1 = variable1
    AND champ2 = variable2
    AND champ4 = variable4
    AND NOT EXISTS
        (   SELECT  *
            FROM    TABLE 
            WHERE   champ1 = variable1 
                AND champ2 = variable2 
                AND champ3 = variable3 
                AND champ4 = variable4
        )
;
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h06   #3
Membre à l'essai
 
Inscription : janvier 2005
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 77
Points : 20
Points : 20
Merci, je teste tout de suite
Kaori est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h12   #4
Membre à l'essai
 
Inscription : janvier 2005
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 77
Points : 20
Points : 20
Ca ne me fait pas d'erreur sql, faut que je teste si les données sont bien celles que je dois avoir

Un tout grand merci, je pense pas que j'y serais arrivée
Kaori 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 23h52.


 
 
 
 
Partenaires

Hébergement Web