我仍然是SQL Server 2008的新手,并对CASE语句有疑问。 我有三个不同的列用于三个不同的数据库,我需要看到三者之间的数量差异。我的查询中的其他所有工作正常,现在我只需要添加此CASE语句。当我使用两列(A = B)时,CASE工作得很好。但是我不确定如何添加第三个。下面是我的内容,但它告诉我" =#39; ='附近的语法不正确。"所有字段都是数字,可能有也可能没有不同的数量。当至少有一个数量关闭时,我只需要标记一些东西。有什么建议? :) 谢谢。
,CASE WHEN ColumnA = ColumnB = ColumnC THEN 'N'
ELSE 'Y'
END AS 'Variance Y/N'
答案 0 :(得分:0)
在Case Statement
中,如果没有logical operator
,则不能使用两个Comparison Operators
。试试这个..
CASE
WHEN ColumnA = ColumnB
AND ColumnB = ColumnC THEN 'N'
ELSE 'Y'
END AS 'Variance Y/N'
答案 1 :(得分:0)
试试这个
CREATE TABLE #tmp12
(
col1 INT,
col2 INT,
col3 int
)
INSERT INTO #tmp12 ( col1, col2, col3 ) VALUES (1,2,3 )
INSERT INTO #tmp12 ( col1, col2, col3 ) VALUES (1,1,1 )
SELECT (CASE WHEN col1 = col2 AND col1 = col3 THEN 'N' ELSE 'Y' END) FROM #tmp12