Le conflit de classement dans SQL de l'Union de Toutes les Requêtes
Il y a une Union de Tous requête, comme illustré ci-dessous. Quand a tiré dans SQL server, j'obtiens une erreur
"Impossible de résoudre le conflit de classement pour la colonne 1 de l'instruction SELECT."
S'il vous plaît, où puis-je ajouter le Collate database_default déclaration avec cette Union de Toutes les requêtes?
select OrgCode,null as OrgName,
Q1_A1 as A1Value,Q1_a2 as A2Value,'Quarter 1' as dt,((Q1_A1-Q1_A2)/case when Q1_A1<>0 then Q1_A1 else null end )*100 Percentage
from #Tabl_Quarter_Calculation
union all
select OrgCode,null as OrgName,Q2_A1 as A1Value,Q2_a2 as A2Value,'Quarter 2' as dt,((Q2_A1-Q2_A2)/case when Q2_A1=0 then null else Q2_A1 end )*100 Percentage
from #Tabl_Quarter_Calculation
union all
select [OrgCode],[OrgName],a1Value,a2Value,dt
,cast((a1value-a2value)/cast(a1value as real)*100 as varchar(10))+'%' Percentage
from #Tbl_Display1
union all
--4 week average
select [OrgCode],[OrgName],sum(a1Value) as a1Value,Sum(a2Value) as a2Value,max(dt) as dt
,cast((sum(a1value)-sum(a2value))/cast(sum(a1value) as real)*100 as varchar(10))+'%' Percentage
from #Tbl_Display1
group by [OrgCode],[OrgName]
order by 1,5
la version de SQL server que vous utilisez? 2000,2005 ou 2008?
SQL SERVER 2000!!
SQL SERVER 2000!!
OriginalL'auteur user1254579 | 2014-08-12
Vous devez vous connecter pour publier un commentaire.
De classement doit être spécifié où les chaînes à partir des classements différents sont comparés, souvent après une JOINTURE ou une condition where. Avec un SYNDICAT, les colonnes de chacune des instructions SELECT sont par rapport à ce qu'ils puissent être réunies. Votre erreur vous indique qu'il est la colonne 1, c'est donc là que vous devez spécifier le classement.
Essayez de le ci-dessous
OriginalL'auteur JamieA