我可以将Case语句用于以下多个条件。输出应该是一列,其中所有以下条件都应该为真。如果是真的那么打印' X'否则为NULL。我正在使用SQL服务器,不知道如何使用Case语句。
WHERE
(
(D.Type = 'abc')
AND D.Status = 'C'
)
AND
(
(
AAD.D01 IS NOT NULL
OR AAD.D02 IS NOT NULL
OR AAD.D03 IS NOT NULL
OR AAD.D04 IS NOT NULL
OR AAD.D05 IS NOT NULL
OR AAD.D06 IS NOT NULL
OR AAD.D07 IS NOT NULL
OR AAD.D08 IS NOT NULL
)
AND (AAD.B05 = 1)
OR (AAD.B06 = 1)
)
THEN 'X', ELSE '' END AS [Adjusted]
答案 0 :(得分:0)
我会建议linq 您需要一个可以保存数据的集合
var datalist = db.Table.Where(d=>d.Type == 'abc').Where(d=>d.Status=='C').Where(AAD=>AAD.D01 != null)......
答案 1 :(得分:0)
您可能需要EXISTS
,可以在CASE
条款中使用。
有一个非常简单的例子:
DECLARE @table1 TABLE (Id int)
INSERT INTO @table1 VALUES (1), (2), (6), (10)
SELECT CASE
WHEN EXISTS(SELECT *
FROM @table1
WHERE Id = 1 OR Id = 2)
THEN 'X' ELSE '' END AS [Adjusted]
替换
SELECT *
FROM @table1
WHERE Id = 1 OR Id = 2
用你的实际陈述。如果它不是您想要做的,请更新您的问题并提供完整的代码和更多信息。