requête sql, comparaison d'un champ de table à une liste de valeurs (condition)
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

requête sql, comparaison d'un champ de table à une liste de valeurs (condition)



  1. #1
    221

    requête sql, comparaison d'un champ de table à une liste de valeurs (condition)


    ------

    Bonjour,

    J'ai une liste de valeurs d'id (listOfProducts) retournées par une dropdown list, je dois les utiliser pour filtrer dans une requête sql.


    quelque chose comme ca :

    SELECT stock_id , loc_id

    FROM S_ware D

    WHERE D.product_id IN (listOfProducts)


    J'ai besoin de récupérer tous les enregistrements de la table dont l'identifiant du produit(product_id) est contenu dans la liste (listOfProducts)


    merci

    -----

  2. #2
    Merlin95

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    Bonjour,

    Et ta question quelle est-elle ?
    Ce que tu as fait devrait marcher.

  3. #3
    221

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    non justement
    ca
    WHERE D.product_id IN (listOfProducts)

    ca pose probleme

  4. #4
    umfred

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    ta dropdownlist doit être alimentée par une collection? quoiqu'il en soit, il faudra concaténer les différentes valeurs de celle-ci pour la mettre dans ta requête.

  5. A voir en vidéo sur Futura
  6. #5
    vgondr98

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    Bonjour, une dropdown list, c'est un objet sql ? Ou c'est juste une liste retournée par un langage de programmation (du style php, python, java) ?

  7. #6
    umfred

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    une dropdownlist n'est pas un objet SQL, mais d'un autre langage, c'est une liste de choix.
    Selon le langage, tu a peut-être une fonction qui permet de joindre les éléments de la liste pour en faire une chaine

  8. #7
    Merlin95

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    Sinon tu le fais avec un OR (ou).

  9. #8
    vgondr98

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    Citation Envoyé par umfred Voir le message
    une dropdownlist n'est pas un objet SQL, mais d'un autre langage, c'est une liste de choix.
    Selon le langage, tu a peut-être une fonction qui permet de joindre les éléments de la liste pour en faire une chaine
    Cela pourrait :
    Code:
    select Name from UserNew where id IN (select id from UserNew where LastName = 'TOTO')

  10. #9
    Merlin95

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    Citation Envoyé par vgondr98 Voir le message
    Cela pourrait :
    Code:
    select Name from UserNew where id IN (select id from UserNew where LastName = 'TOTO')
    En l'occurrence c'est mieux de faire

    select Name from UserNew where LastName = 'TOTO'

    Mais oui on peut mettre un 'SELECT' dans un 'IN'.

  11. #10
    umfred

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    ça pourrait être une idée en effet.
    Mais là, je crois que la listOfProduct est un tableau, une liste, une collection (rayer la mention inutile). il faut donc la "dépiler" pour en faire une chaine à introduire dans le IN().
    Selon le langage (et le type de donnée de la liste), la méthode change, mais le principe reste le même:
    Code:
    choix='';
    for(i = 0 ;i<len(listOfProducts);i++)
    {
        if(i==0) choix=listOfProducts(i); 
        else       choix=", " + listOfProducts(i);
    }
    requete="SELECT stock_id , loc_id FROM S_ware D WHERE D.product_id IN (" + choix + ")";

  12. #11
    bobflux

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    Normalement un dropdown ("menu déroulant") permet de choisir un seul item dans une liste, il n'est pas possible de faire de sélection multiple, donc je ne comprends pas la question.

    À moins que chaque ligne du dropdown corresponde en fait à une liste de choix, où qu'il s'agisse d'un dropdown à sélection multiple, ce qui mérite la honte. Ou alors c'est un autre truc à sélection multiple.

    umfred, évite de mettre des exemples de code avec des bugs et des injections SQL dedans.

  13. #12
    umfred

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    le menu déroulant est "alimenté" (initialisé) avec des valeurs au chargement (ou en cours) et des dropdown list à choix multiple, on en trouve dans les filtres Excel par exemple

    Ok pour le bug , j'ai oublié de remettre choix dans ma concaténation (choix=choix + ", " + listOfProducts(i);
    pour l'injection, ici, en principe pas possible, puisqu'on part d'un objet, donc en principe, maitrisé (et c'était peut-être moins parlant qu'en mettant un point d'interrogation pour en faire une requête préparée, et de rajouter la ligne d'exécution de la requête avec le paramètre, qui dépend du langage). Je montrais surtout le principe

  14. #13
    bobflux

    Re : requête sql, comparaison d'un champ de table à une liste de valeurs (condition)

    Il y a toujours un bug si il y a une apostrophe dans la chaîne

    Sinon 221 tu utilises quel langage de programmation ?

Discussions similaires

  1. Access, Modifier une table à partir d'un formulaire lié à une requête
    Par anthonydu62 dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 04/12/2020, 18h49
  2. Liste deroulante sous condition
    Par YOUSSEFSRA dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 04/12/2017, 09h46
  3. Réponses: 7
    Dernier message: 12/06/2017, 19h30
  4. Requête sur plusieurs colonnes d'une même table ACCESS 2016
    Par fcheva dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 03/01/2017, 23h08
  5. requête suppression doublons d'une table
    Par ivgu1939 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 10/10/2016, 13h40