Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
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 18/05/2011, 10h09   #1
Invité de passage
 
Homme Nicolas
Inscription : mars 2011
Messages : 22
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 22
Points : 4
Points : 4
Par défaut Jointure.. accoler deux résultats de requettes

Bonjour,
J’ai besoin d’accoler le résultat de 2 requêtes... Le problème est que ces requêtes utilisent des bases différentes, qui ont une colonne commune (datetime) mais que celle-ci n'est pas strictement égale d'une table à l'autre.

J'ai donc essayé de faire une jointure sur le jour avec
Code sql :
 DATEPART(DAY,datetime)
mais cela me renvoie une erreur "Cannot find either column "A" or the user-defined function or aggregate "A.datepart", or the name is ambiguous.".Avez-vous une autre idée?

La requête 1 récupère les valeurs d'une variable discrète/jour.

La requête 2 récupère des noms /jour.

Le but est de coller le nom aux valeurs de la requête 1

Requête 1 :

Code sql :
1
2
3
4
5
6
7
8
9
10
11
 
SELECT 
datepart(day,datetime) AS day
,datepart(month,datetime) AS month
,datepart(year,datetime) AS year
,value 
 
FROM dbo.DiscreteHistory WHERE tagname='S13_PULS_TM1'
 
GROUP BY datepart(day,datetime),datepart(month,datetime),datepart(year,datetime),value
ORDER BY datepart(day,datetime),datepart(month,datetime),datepart(year,datetime),value

Requête 2 :

Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
SELECT 
datepart(day,datetime) AS day
,datepart(month,datetime) AS month
,datepart(year,datetime) AS year
,Unitorconnection
, Batch_ID
 
FROM 
		BatchHistory.dbo.BatchIdLog  A, BatchHistory.dbo.BatchDetail B
WHERE 
Unitorconnection LIKE 'S13__TM1'
AND datepart(day,datetime) =datepart(day,getdate())
AND datepart(month,datetime)=datepart(month,getdate())
AND datepart(year,datetime) =datepart(year,getdate())
AND A.Batch_Log_ID=B.Batch_Log_ID
 
 
GROUP BY datepart(day,datetime),datepart(month,datetime),datepart(year,datetime),Unitorconnection,Batch_ID
ORDER BY datepart(day,datetime),datepart(month,datetime),datepart(year,datetime),Unitorconnection,Batch_ID

Jointure :

Code "SQL" :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT 
datepart(day,datetime) AS day
,datepart(month,datetime) AS month
,datepart(year,datetime) AS year
,value 
,Unitorconnection
, Batch_ID
 
FROM BatchHistory.dbo.BatchIdLog  A, BatchHistory.dbo.BatchDetail B, runtime.dbo.DiscreteHistory C
 
WHERE 
tagname='S13_PULS_TM1'
AND Unitorconnection LIKE 'S13__TM1'
AND A.Batch_Log_ID=B.Batch_Log_ID
AND A.datepart(day,datetime) = C.datepart(day,datetime) 
 
 
GROUP BY datepart(day,datetime),datepart(month,datetime),datepart(year,datetime),value,Unitorconnection, Batch_ID
ORDER BY datepart(day,datetime),datepart(month,datetime),datepart(year,datetime),value,Unitorconnection, Batch_ID
niko0083 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 10h33   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
Les jointures se font avec JOIN et clause ON et non dans le WHERE. Là vous faites de produits cartésiens.

A lire : http://sqlpro.developpez.com/cours/s...intures/#LII-B

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h29.


 
 
 
 
Partenaires

Hébergement Web