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 :

Requête SQL imbriquée


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 70
    Points : 41
    Points
    41
    Par défaut Requête SQL imbriquée
    Bonjour,

    Je sollicite votre aide car j'ai une erreur comme ceci: Subquery allowed only one select list item. Je souhaite que la requête imbriquée groupée par YEAR(DTE_TRNJ),DATEPART(WEEK,DTE_TRNJ). Voici mon code sql:

    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
    SELECT COUNT(DISTINCT UCLPRDDWH.DET_LIG_TRN.DWH_SEQ_NUM_IND), YEAR(DTE_TRNJ),DATEPART(WEEK,DTE_TRNJ)
     
    FROM UCLPRDDWH.DET_LIG_TRN, UCLPRDDWH.DET_PDV, LDS_TMP_STATION_GEANT_TRIPLE, UCLPRDDWH.DET_PORTEUR
     
    WHERE
    	UCLPRDDWH.DET_LIG_TRN.DWH_SEQ_NUM_IND = UCLPRDDWH.DET_PORTEUR.DWH_SEQ_NUM_IND
    	AND UCLPRDDWH.DET_PDV.COD_PDV_COM = 'CG' + RIGHT(LDS_TMP_STATION_GEANT_TRIPLE.COD_PDV_COM,3)
    	AND UCLPRDDWH.DET_LIG_TRN.DWH_SEQ_PDV = UCLPRDDWH.DET_PDV.DWH_SEQ_PDV
    	AND UCLPRDDWH.DET_LIG_TRN.DTE_TRNJ > '2008/12/31'
    	AND DWH_COD_TYPIND = 'A'
     
    	AND UCLPRDDWH.DET_PORTEUR.DWH_SEQ_NUM_IND IN (SELECT DISTINCT UCLPRDDWH.DET_LIG_TRN.DWH_SEQ_NUM_IND, YEAR(DTE_TRNJ),DATEPART(WEEK,DTE_TRNJ)
     
    	FROM UCLPRDDWH.DET_LIG_TRN, UCLPRDDWH.DET_PDV, LDS_TMP_STATION_GEANT_TRIPLE, UCLPRDDWH.DET_PORTEUR
     
    	WHERE UCLPRDDWH.DET_LIG_TRN.DWH_SEQ_NUM_IND = UCLPRDDWH.DET_PORTEUR.DWH_SEQ_NUM_IND
    	AND UCLPRDDWH.DET_PDV.COD_PDV_COM = LDS_TMP_STATION_GEANT_TRIPLE.COD_PDV_COM
    	AND UCLPRDDWH.DET_LIG_TRN.DWH_SEQ_PDV = UCLPRDDWH.DET_PDV.DWH_SEQ_PDV
    	AND UCLPRDDWH.DET_LIG_TRN.DTE_TRNJ > '2008/12/31'
    	AND DWH_COD_TYPIND = 'A' Group by YEAR(DTE_TRNJ),DATEPART(WEEK,DTE_TRNJ))
     
    Group by YEAR(DTE_TRNJ),DATEPART(WEEK,DTE_TRNJ)
    Merci d'avance

  2. #2
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Quand tu groupes par YEAR(DTE_TRNJ),DATEPART(WEEK,DTE_TRNJ)... ton résultat ne comporte qu'une ligne par YEAR(DTE_TRNJ),DATEPART(WEEK,DTE_TRNJ).

    Donc demander "DISTINCT UCLPRDDWH.DET_LIG_TRN.DWH_SEQ_NUM_IND", n'est pas possible, puisque cela nécessiterait une ligne par valeur distincte...

    Par ailleurs, quand tu fais : COL IN (...)
    Le SELECT dans le IN ne doit retourner que les valeurs admises pour COL. Tu vois l'idée ?

    Si tu as des problèmes avec ta condition, essaie de nous dire ce qu'il te faut.

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 70
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Merci pour ta réponse. Je souhaite que dans la requête imbriquée, il y a un regroupement par YEAR(DTE_TRNJ),DATEPART(WEEK,DTE_TRNJ) pour obtenir les données à la même semaine que le select principal...Qu'est ce que je dois modifier dans le code pour avoir le résultat souhaité?

    Merci

Discussions similaires

  1. [Toutes versions] Requète SQL imbriqué
    Par Maxpuff dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/05/2010, 16h46
  2. Requêtes SQL imbriquées
    Par zpliz dans le forum SQL
    Réponses: 5
    Dernier message: 25/03/2010, 09h58
  3. [MySQL] Requête sql imbriquée
    Par PIEPLU dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 20/01/2010, 08h44
  4. Requête SQL imbriqué, 3 tables, plusieurs colonnes
    Par opacho dans le forum Requêtes
    Réponses: 3
    Dernier message: 27/07/2009, 09h45
  5. Requête SQL imbriquées
    Par Fanette85 dans le forum ASP.NET
    Réponses: 20
    Dernier message: 05/10/2007, 14h12

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