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

Développement SQL Server Discussion :

Requête sur un critère avec un UNIQUEIDENTIFIER


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Requête sur un critère avec un UNIQUEIDENTIFIER
    Bonjour à tous.

    Je bloque sur une sélection alternative avec un champ UNIQUEIDENTIFIER. J'ai trouvé (grâce à un précédent post,) comment faire pour mes autres critères, mais là je bloque.

    Voici ma procédure stockée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    DECLARE @LangueNews VARCHAR(3), @UniversNews VARCHAR(10), @Categorie UNIQUEIDENTIFIER
    SET @LangueNews = 'FRA'
    SET @UniversNews = 'WOW'
    --SET @Categorie = '7800f4c6-34dc-44de-b35c-83adc0944434'
    SET @Categorie = Null
     
    SELECT GuidNews, DateCreaNews, DateMajNews TitreNews, SStitreNews TexteNews, U.UserName, U.UserId FROM CORE_News N
    INNER JOIN aspnet_Users U ON N.GuidUser = U.UserId 
    WHERE NewsApproved = 1 AND NewsCorrect = 1 AND NewsIllustre = 1
    AND (LangueNews = @LangueNews OR @LangueNews = '' )
    AND (SecteurNews = @UniversNews OR @UniversNews = '')
    AND (CategorieNews = @Categorie OR @Categorie = Null)
    Si je mets un UNIQUEIDENTIFER dans la variable @Categorie, ça va bien. Mais mon besoin est de pouvoir envoyer un paramettre qui dirait qu'il faut prendre toutes les catégories, sans distinction et je ne trouve pas le moyen de faire cela dans cette requête. Avec des champs VARCHAR ou des champs INT, j'ai trouvé, mais avec le UNIQUEIDENTIFIER, j'ai rien.

    Pouvez vous m'aider ?

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Il suffit de déclarer la variable comme telle...

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DECLARE @myid uniqueidentifier 
    SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12'
    GO

  3. #3
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    -- En fait, c'est ce que tu as déjà fais.

    Par contre where @variable = null ça n'existe pas.
    Il faut utiliser where @variable is null à la place, je pense que ton problème vient de là.

    Si tu fais where @variable1 = @variable2 avec set @variable2 = null ou where @variable = colonne et la colonne est nulle, alors l'égalité fonctionne. C'est les seuls cas.
    Dès que tu utilises le mot clé null, l'égalité se teste avec is

  4. #4
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ok, c'était aussi simple que ça.
    ça marche nickel.

    Merci et bonne journée à toi.

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

Discussions similaires

  1. Requête sur 2 tables avec critères de jointures particuliers
    Par Randomdev dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/01/2009, 18h00
  2. Réponses: 3
    Dernier message: 03/03/2007, 14h28
  3. Réponses: 10
    Dernier message: 27/07/2006, 14h04
  4. [VBA-E]filtre sur plusieurs Critères avec Excel
    Par Diablo_22 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/05/2006, 20h34
  5. Réponses: 11
    Dernier message: 17/05/2006, 10h48

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