SELECT TOP 1
CostValue
FROM
[~client_table~].[dbo].[CostRules] AS CostRule
WHERE
(CASE
WHEN DATALENGTH(CostRule.ModelName) = 0
THEN
CostRule.Type = 1
AND CostRule.Manufacturer = Printer.ManufacturerId
AND CostRule.ColorType = 1
ELSE
CostRule.Type = 2
AND CostRule.ModelName = Printer.ModelName
AND CostRule.ColorType = 1
END
)
) AS MonoCost
我想定义我的WHERE语句取决于CostRule.ModelName
数据长度。但我得到一个错误:Incorrect syntax near '='
。在CostRule.Type = 1
和我在ELSE
声明中出错。SQL - 在与CASE语句
这就是我想要的!谢谢。 –