Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2011, 23h22   #1
Nouveau Membre du Club
 
jalal zaime
Inscription : novembre 2010
Messages : 141
Détails du profil
Informations personnelles :
Nom : jalal zaime

Informations forums :
Inscription : novembre 2010
Messages : 141
Points : 37
Points : 37
Par défaut aide requete sql

bonjour all
je cherche de l'aide pour pouvoir imbriquer ses deux requets

1 requete
Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT     dbo.rubrique_budgetaire.code_rubrique, dbo.rubrique_budgetaire.credit_definitif, dbo.etat_engagement.objet_depense, 
                      dbo.etat_engagement.montant_engager, SUM(CASE WHEN DATALENGTH(COALESCE (dbo.modification_engager.n_certification2, '')) = 0 THEN NULL 
                      ELSE ISNULL(dbo.modification_engager.montant, 0) END) AS modification_engager, 
                      SUM(CASE WHEN DATALENGTH(COALESCE (dbo.modification_engager.n_certification2, '')) 
                      = 0 THEN 0 ELSE ISNULL(dbo.modification_engager.montant, 0) END) + dbo.etat_engagement.montant_engager AS total_engager, 
                      dbo.etat_engagement.n_nature_engagement
FROM         dbo.rubrique_budgetaire INNER JOIN
                      dbo.etat_engagement ON dbo.rubrique_budgetaire.id1 = dbo.etat_engagement.id1 INNER JOIN
                      dbo.nature_engagement ON dbo.etat_engagement.id_nature_engagement = dbo.nature_engagement.id_nature_engagement LEFT OUTER JOIN
                      dbo.modification_engager ON dbo.etat_engagement.id2 = dbo.modification_engager.id2
WHERE     (dbo.etat_engagement.n_nature_engagement = 'Var')
GROUP BY dbo.rubrique_budgetaire.code_rubrique, dbo.rubrique_budgetaire.credit_definitif, dbo.etat_engagement.objet_depense, 
                      dbo.etat_engagement.montant_engager, dbo.etat_engagement.n_nature_engagement
2 requete
Code sql :
WITH CTE AS (SELECT ISNULL(dbo.etat_engagement.montant_engager, 0)+ SUM(CASE WHEN DATALENGTH(COALESCE (dbo.modification_engager.n_certification2, '')) = 0 THEN 0 ELSE ISNULL(dbo.modification_engager.montant, 0) END) AS engager FROM dbo.etat_engagement LEFT OUTER JOIN dbo.modification_engager ON dbo.etat_engagement.id2 = dbo.modification_engager.id2 WHERE(NOT (dbo.etat_engagement.n_certification LIKE '')) AND (dbo.etat_engagement.id1 = '" id de enregistrement 1 requet "') GROUP BY dbo.etat_engagement.montant_engager, dbo.etat_engagement.id2) SELECT  SUM(engager) AS cumul_engager FROM CTE AS CTE_1
jalalnet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 12h04   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Je ne saisi pas trop votre problématique. CTE ne me semble pas utilisé dans votre première requête....
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h31.


 
 
 
 
Partenaires

Hébergement Web