0

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&lt;&gt;'' 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&lt;&gt;'' 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]
4

1 に答える 1