SQL Server 2012 のコマンドで問題が発生しています。問題は、クエリ内で case ステートメントを実行しようとすると、case ステートメントの前の列が認識されなくなることです。
問題を特定したところ、次のブロックであることがわかりました。
Select
[Address 1] +
Case
when [Address 2] = '' then ',' + [Address 2]
else '' end
Case
when Town <> '' then ',' + rtrim(Town)
else '' end
Case when County<>'' then ','+rtrim(County) else '' end
) as Address
from Employees
私はまだSQLを学んでいるので、どんな助けも素晴らしいでしょう。
完全なコード ブロックは次のとおりです。
Select
'Chorley' as [Site Address],
[EmpID] as EmployeeID,
[First Name],
[Surname],
Manager as [Manager directly over employee],
Email,
'' as WorkPhone,
[Home Tel],
[Mobile Tel],
(
[Address 1] +
Case when [Address 2] = '' then ',' + [Address 2] else '' end
Case when Town <> '' then ',' + rtrim(Town) else '' end
Case when County<>'' then ','+rtrim(County) else '' end) as Address,
Pcode,
[NI No],
DOB,
[Job Title],
[Start Date],
[Hours Worked],
[Days And Times] as DaysAndTimes,
Holidays,
'',
[Contract] as 'Contract'
from Employees
where [Employment Status]<>'Leaver'
Order By [Department], [SurName]