繁体   English   中英

需要帮助来修改我的SQL查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM