IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

paramétre dans du code Sql


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Par défaut paramétre dans du code Sql
    Bonsoir,

    J'ai un interrupteur INTERR1 avec 3 choix par exemple:

    Je souhaiterais exécuter ma requête avec tous les champs possible.Voici un exemple de requête avec en rouge ce que je souhaiterais faire mais que je ne sais pas faire.

    Select AdresseP.NoPre AS NoPre,
    AdresseP.NomClas AS NomClas,
    AdresseP.NomPhon AS NomPhon,
    AdresseP.Prenom AS Prenom,
    AdresseP.CPost AS CPost,
    FROM AdresseP
    JOIN (
    Select NomClas,CPost,NomPhon from AdresseP
    Group by NomClas,CPost,NomPhon
    Having count(*) > 1) AS Dbl

    ON (Si INTERR1[1]=1 ALORS (AdresseP .NomClas = Dbl.NomClas)
    Si INTERR1[2]=1 ALORS (AND AdresseP .NomPhon = Dbl.NomPhon)
    Si INTERR1[3]=1 ALORS (AND AdresseP .CPost = Dbl.CPost))

    ORDER BY NomClas,CPost,NomPhon



    Le probleme c'est que le SI ne marche pas dans du code SQL.
    Quelqu'un aurai t'il une idée.
    J'ai trouvé une autre solution qui est de faire une requete pour chaque possibilité mais si l'interrupteur possede 10 choix cela fait pas mal de choix.
    Merci par avance

  2. #2
    Membre Expert Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Par défaut
    Moi je comprends pas si tu veux faire une jointure ou une condition?

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Par défaut
    En fait ma requête recherche les doublons en fonction du choix de l'interrupteur :soit sur le Nom
    soit sur le Nom phonétique
    soit sur le code postal
    soit sur le Nom et le Nom phonétique...
    ...
    Donc tout ce qui est en bleu marche et à était testé , ce que je cherche à faire c'est mettre en place les conditions en rouge

  4. #4
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Par défaut
    Select AdresseP.NoPre AS NoPre,
    AdresseP.NomClas AS NomClas,
    AdresseP.NomPhon AS NomPhon,
    AdresseP.Prenom AS Prenom,
    AdresseP.CPost AS CPost,
    FROM AdresseP
    JOIN (
    Select NomClas,CPost,NomPhon from AdresseP
    Group by NomClas,CPost,NomPhon
    Having count(*) > 1) AS Dbl

    ON (Si INTERR1[1]=1 ALORS (AdresseP .NomClas = Dbl.NomClas)
    Si INTERR1[2]=1 ALORS (AND AdresseP .NomPhon = Dbl.NomPhon)
    Si INTERR1[3]=1 ALORS (AND AdresseP .CPost = Dbl.CPost))
    ORDER BY NomClas,CPost,NomPhon

  5. #5
    Membre Expert Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Par défaut
    Pour que tu n'es pas à créer 10 requêtes tu devrais la générer dans une fonction. Sinon, je te suggère te demander sur le forum SQL.

  6. #6
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Par défaut
    En faite c'est pas 10 requête Mais 2^10 requêtes parce que je doit tester toutes les possibilités.
    Pour les fonctions je ne vois pas comment faire mais merci pour vos réponses je vais aller voir dans le forum SQL.

  7. #7
    Membre Expert Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Par défaut
    si j'ai bien compris, tu veux créer une requête en fonction de variables windev...
    rien de plus simple, tu crées ta requête en chaîne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    req est une chaine
    req = "Select AdresseP.NoPre AS NoPre,
    AdresseP.NomClas AS NomClas,
    AdresseP.NomPhon AS NomPhon,
    AdresseP.Prenom AS Prenom,
    AdresseP.CPost AS CPost,
    FROM AdresseP
    JOIN (
    Select NomClas,CPost,NomPhon from AdresseP
    Group by NomClas,CPost,NomPhon
    Having count(*) > 1) AS Dbl
    On "
    temp est une chaine
    Si INTERR1[1]=1 ALORS temp = "AdresseP .NomClas = Dbl.NomClas"
    Si INTERR1[2]=1 ALORS temp += "AND AdresseP .NomPhon = Dbl.NomPhon"
    Si INTERR1[3]=1 ALORS temp += "AND AdresseP .CPost = Dbl.CPost"
    SI gauche(temp,4) = "AND " ALORS
        temp = droite(temp,taille(temp) - 4)
    req += temp + " ORDER BY NomClas,CPost,NomPhon"
    Il y a surement encore une ou deux erreurs ds ce code, mais tu trouveras bien...

  8. #8
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Par défaut
    Merci pour votre réponse, j'ai utilisé ta méthode et après plusieurs chanement j'ai réussi à faire le fonctionner

Discussions similaires

  1. condition SI dans le code SQL
    Par franoisiup dans le forum Langage SQL
    Réponses: 1
    Dernier message: 20/04/2009, 23h04
  2. [WD9] Passer un paramètre dans une requête SQL
    Par gbzmt dans le forum WinDev
    Réponses: 2
    Dernier message: 03/01/2009, 07h14
  3. Paramètre dans une requete SQL
    Par poulet44 dans le forum BIRT
    Réponses: 2
    Dernier message: 25/11/2008, 08h56
  4. comment passé un paramètre dans une requête sql
    Par java2008 dans le forum BIRT
    Réponses: 0
    Dernier message: 03/03/2008, 12h11
  5. Problème de paramètres dans mon code javascript
    Par cocacollection dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/03/2006, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo