選擇說我有以下查詢:在SQL Server中選擇
select ID, ActualDate, DueDate
from table1
我需要做的就是添加一個名爲標誌 另一場將被標記爲「Y」如果ActualDate比交貨期
更大select ID, ActualDate, DueDate,
CASE
WHEN ActualDate > DueDate THEN 'Y'
ELSE 'N'
END as Flag
from table1
以上將無法正常工作,因爲我得到無效的列名稱ActualDate。無效的列名稱DueDate。 我需要做的是內選擇一個選擇是這樣的:
select ID,
ActualDate,
DueDate,
CASE
WHEN ActualDate > DueDate
THEN 'Y'
ELSE 'N'
END as Flag
FROM table1
:
select ID, ActualDate, DueDate,
CASE
WHEN ActualDate > DueDate THEN 'Y'
ELSE 'N'
END as Flag
from
(select ID, ActualDate, DueDate
from table1) tbl1
)
什麼不適用於'case'版本?如果你在最後刪除多餘的'''',你的最後一個查詢應該可以工作 – Andomar 2012-08-14 18:03:32
爲什麼第一個版本不工作?我看起來很好。 – 2012-08-14 18:04:43
@戈登Linoff - 我得到無效的列名稱ActualDate。無效的列名稱DueDate - 請告知 – 2012-08-14 18:12:41