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

MS SQL Server Discussion :

[débutant] jointure sur resultat "temporaire" (mal dit :/ )


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 6
    Par défaut [débutant] jointure sur resultat "temporaire" (mal dit :/ )
    j'ai fait un query et j'aimerai bien lui ajouter une colonne avec achaque ligne nombre de ligne qui ont un champ particulier de la meme valeur


    ma requete:
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    SELECT 
     
    	DEM_NO,
    	DATE_CREATION,
    	CASE WHEN DEM_ETAT_T IS NULL THEN DEM_ETAT
    	ELSE DEM_ETAT_T
    	END AS DEM_ETAT_FIN,
    	TI_NOM,
    	NOM_PRODUIT,
    	TITRE,
    	DATE_RESOLUTION,
     
    	ID_DEMANDE
    	ID_AFFECTATION,
    	MOTS_CLE,
    	ID_TIERS,
    	p1.ID_PRODUIT,
    	ID_AFF_T,
     
    	CASE WHEN ID_SOC_T IS NULL THEN ID_SOCIETE
    	ELSE ID_SOC_T
    	END AS ID_SOC_FIN 
     
    FROM DEMANDES p1
     
    LEFT OUTER JOIN 
    	(SELECT  p1.ID_DEMANDE as dem, higher=MAX(p1.ID_TRAITEMENT)
        FROM DEMANDE_TRAITEMENT p1
        GROUP BY p1.ID_DEMANDE)AS  ptrait
    ON ptrait.dem = p1.ID_DEMANDE
     
     
    LEFT OUTER JOIN
    	(SELECT ID_TRAITEMENT, ID_AFFECTATION AS ID_AFF_T, ID_SOCIETE AS ID_SOC_T, DEM_ETAT AS DEM_ETAT_T FROM DEMANDE_TRAITEMENT)AS pdemtout
    ON pdemtout.ID_TRAITEMENT = ptrait.higher
     
     
     
    LEFT OUTER JOIN 
    	(SELECT TI_NOM, ID_TIERS AS tiers FROM N_TIERS ptiers ) AS ptiers
    ON ptiers.tiers = p1.ID_TIERS 
     
    LEFT OUTER JOIN 
    	(SELECT ID_PRODUIT, NOM_PRODUIT FROM N_PRODUIT pprod) AS pprod
    ON pprod.ID_PRODUIT = p1.ID_PRODUIT
     
    WHERE ID_SOCIETE = 3
    et je souhaite faire une jointure de ce resultat sur un select count qui est fait lui aussi sur le resultat de cette premiere requete.

    La question est : Dois je faire un gros copier coller avec la requete du style:

    select * from (ma requete) as x join (select count(*) from (ma requete))as y
    join x.param1 = y.param2

    Ou bien il y a une solution pour "rappeler" le resultat temporaire de ma requete et lui ajoindre une colonne sans l'écraser ?

    merci d'avance

  2. #2
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    je ne comprends pas vraiement ce que tu veux faire, mais là je vois que ta 2ème requête ne contient qu'un COUNT(*) dans la clause SELECT donc tu n'auras pas la main pour faire des jointures sur des champs, faire une jointure sur le count(*) me semble illogique!
    explique davantage ce qui tu cherches à faire.
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  3. #3
    Membre éprouvé Avatar de Ensiaste2006
    Inscrit en
    Juillet 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2006
    Messages : 125
    Par défaut
    tu aura besoin de deux requêtes:

    une celle que tu nous as écrite, l'autre contient les mêmes FROM et CONDITION, mais avec seulement le champs à compter avec un COUNT(*) juxtaposée.
    et puis une jointure entre les deux par le champs en question.

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/05/2008, 11h56
  2. [Quote] DVP quoté sur Bashfr
    Par Skyounet dans le forum La taverne du Club : Humour et divers
    Réponses: 16
    Dernier message: 26/09/2006, 18h52
  3. Problème sur Request.ServerVariables("QUERY_STRING"
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 25/03/2005, 11h47

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