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

Langage SQL Discussion :

Exclure les id_produit d'une sélection


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Exclure les id_produit d'une sélection
    Bonjour,

    Comment exclure une série d'article d'une sélection ? Depuis ma requête SQL, je demande un ensemble de choses.
    Comment exclure, en plus, une série d'articles de la colonne p.id_produit ?

    Exemple : id_produit à exclure = 10001, 10002, 10003, etc.

    Voici un bout de la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     WHERE p.ref_informatique != 0
     AND p.etat_produit = 'actif'
     AND p.en_stock_produit = 1
    Merci pour votre aide.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 243
    Points : 12 874
    Points
    12 874
    Par défaut
    Bonjour,
    Avec NOT IN ? EXCEPT ?

    Tatayo.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    Avec NOT IN ? EXCEPT ?

    Tatayo.
    ------------------
    Concrètement, ça donne quoi avec la syntaxe ?

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    Avec NOT IN ? EXCEPT ?

    Tatayo.
    Voici la requête complète :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    $requette = "SELECT p.id_rubrique, p.id_produit, p.codebarre_produit, p.garantie_produit, p.garantie_duree_produit, 
                        p.poids_produit, p.nb_stock_produit, p.ref_fournisseur, p.description_produit, p.ref_informatique, 
                        p.nom_produit, p.prix_vente_ht_barre_produit as prixttcbarre, p.prix_vente_ht_produit as prixttc, 
                        p.photo_lien_produit, p.photo_grande_lien_produit, r.nom_rubrique as rubrique1,
                        IF (p.taux_promotion=NULL,NULL,p.taux_promotion) as taux_promo, fp.nom_fournisseur_produit,
                        (SELECT rxpr.pourcent_xmod_promo_rayons 
                            FROM xmod_promo_rayons rxpr 
                            WHERE rxpr.id_rubrique_xmod_promo_rayons = p.id_rubrique 
                            AND rxpr.date_debut_xmod_promo_rayons<= '".date("Y-m-d")."'
                            AND rxpr.date_fin_xmod_promo_rayons>='".date("Y-m-d")."') as taux_promo_rayon,
                        (SELECT E.tarif_envoi 
                            FROM envoi_type ET 
                            LEFT JOIN envoi E ON E.id_envoi_type = ET.id_envoi_type 
                            LEFT JOIN envoi_poids_tarifs EPT ON E.id_envoi_poids_tarifs = EPT.id_envoi_poids_tarifs 
                            WHERE ET.id_envoi_type = 1
                            AND (p.prix_vente_ht_produit) >= (EPT.min_envoi_poids_tarifs) 
                            AND (p.prix_vente_ht_produit) < (EPT.max_envoi_poids_tarifs)) as fraisdeport, 
                        (SELECT (SELECT r3.nom_rubrique 
                                    FROM rubrique r3 
                                    WHERE r3.id_rubrique=r2.id_rubrique_parent) as rubrique2in
                            FROM rubrique r2 
                            WHERE r2.id_rubrique=p.id_rubrique) as rubrique2,   
                        (SELECT (SELECT (SELECT r4.nom_rubrique 
                                            FROM rubrique r4 
                                            WHERE r4.id_rubrique=r3b.id_rubrique_parent) as rubrique3bin 
                                    FROM rubrique r3b 
                                    WHERE r3b.id_rubrique=r2b.id_rubrique_parent) as rubrique2bin
                            FROM rubrique r2b 
                            WHERE r2b.id_rubrique=p.id_rubrique) as rubrique3
                    FROM produit p 
                    LEFT JOIN rubrique r ON p.id_rubrique=r.id_rubrique 
                    LEFT JOIN fournisseur_produit fp ON p.id_fournisseur_produit = fp.id_fournisseur_produit
                    WHERE p.ref_informatique != 0
                    AND (date_fin_dispo_produit IS NULL OR date_fin_dispo_produit >= '".date("Y-m-d")."') 
                    AND p.etat_produit = 'actif'
                    AND p.en_stock_produit = 1
                    AND p.prix_vente_ht_produit >= 100";
    Je voudrais juste exclure des id produit en ajoutant les 2 lignes du bas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                    AND p.etat_produit = 'actif'
                    AND p.en_stock_produit = 1
                    AND p.prix_vente_ht_produit >= 100
    -----------------------------------------------------
    		FROM id_produit p
    		WHERE p.id_produit NOT LIKE 10001, 10002, 10056";

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 243
    Points : 12 874
    Points
    12 874
    Par défaut
    Une petite recherche dans les tutoriels, et hop !

    Tatayo.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Merci Tatayo, je viens de faire des tests depuis le tuto mais rien y fait.

    J'ai fait cela et ça fonctionne (les id produits sont exclus) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    AND p.id_produit NOT LIKE 10001
    AND p.id_produit NOT LIKE 10002
    AND p.id_produit NOT LIKE 10008
    AND p.id_produit NOT LIKE 10012
    AND p.id_produit NOT LIKE 10025
    Mais comment les mettre bout à bout pour éviter toutes ces lignes ?

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 243
    Points : 12 874
    Points
    12 874
    Par défaut
    Est-ce que tu peux nous montrer la requête qui ne fonctionne pas ?
    Parce que l'exemple du tuto est pourtant parlant.

    Tatayo

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Ceci par exemple ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND p.id_produit NOT LIKE 10025, 10005, 10002
    Ou bien cela non plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND p.id_produit NOT LIKE '10025', '10005', '10002'

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Effectivement, il y avait un problème de syntaxe. C'est résolu comme indiqué ci-dessous, merci Tatayo !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND p.id_produit NOT IN ('10001', '13286', '10145', '10146', '10148', '10150')

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher les information liées à une sélection dans un UserForm
    Par zelda12 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/12/2010, 11h56
  2. Réponses: 5
    Dernier message: 14/08/2009, 14h17
  3. [Linq] exclure les doublons d'une requete
    Par ZaaN dans le forum C#
    Réponses: 1
    Dernier message: 03/01/2008, 15h32
  4. Réponses: 1
    Dernier message: 30/10/2007, 16h30
  5. Exclure les Weekend dans une planification de tâches
    Par dumontjf dans le forum Access
    Réponses: 1
    Dernier message: 17/07/2006, 10h18

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