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 :

Aide sur requête SQL


Sujet :

Développement SQL Server

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 14
    Points : 9
    Points
    9
    Par défaut Aide sur requête SQL
    Bonjour,
    Je commence juste à programmer des procédures sous SQL Server.
    j'ai un problème avec cette requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    declare Boucle3 CURSOR FOR
    		Select min([DosaBase].[dbo].[melange].[melange])
    			From [DosaBase].[dbo].[melange] left join [DosaBase].[dbo].[B_CnsBatch] on [DosaBase].[dbo].[melange].[bacth]=[DosaBase].[dbo].[B_CnsBatch].[Cns_Batch] 
             where [DosaBase].[dbo].[B_CnsBatch].[Cns_NumLot]=@lotdosa AND [DosaBase].[dbo].[B_CnsBatch].[Cns_Batch] is null
     
     
       OPEN Boucle3
    	FETCH NEXT FROM Boucle3 into @prochainmel
    dans la table B_CnsBatch

    Cns_NumLot Cns_Batch
    L0125 001
    L0125 002
    L0125 003
    L0125 004
    L0135 001
    L0135 002
    L0135 004
    L0135 005
    etc.

    dans la table melange

    melange bacth
    1 001
    2 002
    3 003
    4 004
    5 005
    6 006

    dans le cas @lotdosa =L0135
    j'aimerais qui me retourne le melange 3
    Cela permettra d'envoyer un message m'indiquant qu'il manque un mélange.

    Merci de votre aide

    Cordialement
    Loïc

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    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 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Dans la requête tu fais une jointure externe sur la table B_CnsBatch, et tu appliques une restriction sur une de ses colonnes dans la clause WHERE.
    De fait tu transformes la jointure externe en jointure interne, et avec le jeu de test donné la requête ne doit rien renvoyer.
    Il faut mettre le test en question dans la jointure.

    Tatayo.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Bonjour tatayo

    Merci pour ton aide cela fonction.

    cordialement
    Loïc

  4. #4
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Bonjour,

    Mais pourquoi faire un curseur quand 1 requête suffit.
    et on peut ne mettre qu'une seule requête dans une procédure.

    Si c'est pour apprendre à faire des procédures stockées un peu plus complexes il y a des tas d'exemples utiles comme par exemple la réplication asynchrone d'une table ou le parcours intervallaire (je l'aime beaucoup car il permet de prendre conscience de la différence entre l'architecture hiérarchique et vectorielle ; voir ici https://sqlpro.developpez.com/cours/arborescence/ ; merci Fred )
    Le savoir est une nourriture qui exige des efforts.

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

Discussions similaires

  1. Besoin d'aide sur requête Sql
    Par Sekigawa dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 31/12/2009, 15h14
  2. Aide sur requête SQL
    Par Pschittt dans le forum Langage SQL
    Réponses: 8
    Dernier message: 06/11/2008, 14h56
  3. Aide sur requête SQL
    Par Mister Paul dans le forum Langage SQL
    Réponses: 14
    Dernier message: 27/10/2008, 11h22
  4. aide sur requête sql
    Par Vodkha dans le forum Langage SQL
    Réponses: 9
    Dernier message: 30/08/2005, 17h53
  5. Aide sur Requête SQL
    Par devdev dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/05/2005, 12h33

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