[英]Need help to modify my SQL query
我想修改下面给出的现有SQL查询(编号1)。 首先,我需要知道是否有可能做我想做的事(第2个)。 如果是,那我可以怎么做。
--**(Number 1)** What I currently have
SELECT Column1
FROM dbo.Table1
WHERE ColumnValue1 = 'One'
AND scalarFunctionResult(Var) = 'Word1'
AND ColumnValue2 = "Word2"
--*(Number 2)* What I need
SELECT Column1
FROM dbo.Table1
WHERE ColumnValue1 = 'One'
AND SomeVariable IN (scalarFunctionResult(Var) = 'Word1', 'WordA')
-- Perform a query based
--on value of SomeVariable, Please read pseudo code below
AND ColumnValue2 = "Word2"
--Pseudo code for logic
--if(SomeVariable = 'Word1') then run query ABCD,
--else if(SomeVariable = 'WordA') then run some other query EFGH
这是一个简单的OR
SELECT Column1
FROM dbo.Table1
WHERE ColumnValue1 = 'One'
AND ((@SomeVariable = 'Word1' AND <the condition ABCD>)
OR
(@SomeVariable = 'WordA' AND <the condition EFGH>))
实际上,当@Somevariable = 'Word1'
时,您可以从ABCD获得结果,或者当@Somevariable = 'Word1'
,可以从其他条件“查询” EFGH中@Somevariable = 'WordA'
。
例如
SELECT Column1
FROM dbo.Table1
WHERE ColumnValue1 = 'One'
AND ((dbo.scalarFunctionResult(@SomeVariable) = 'Word1' AND ColumnValue2 = "Word2")
OR
(dbo.scalarFunctionResult(@SomeVariable) = 'WordA' AND ColumnValue3 = "Word3"))
您是否要弄清楚如何在SQL中创建IF语句? 不确定我是否正确理解您的问题。
如果是这样,那么这里是MSDN的参考。 正如RichardTheKiwi所示,在这种情况下,您可能不需要它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.