小编Ami*_*mar的帖子

SQL Server 2016奇怪的行为-OR条件给出0行但AND条件给出一些行

我有以下SQL查询:

SELECT T.tnum,
       T.secId,           
FROM   TradeCore T
       INNER JOIN Sec S
               ON S.secId = T.secId
       INNER JOIN TradeTransfer TT
               ON t.tnum = TT.tnum
WHERE  ( T.td >= '2019-01-01' )
       AND ( T.td <= '2019-02-25' )
       AND ( T.fundId = 3 OR TT.fundId = 3 )
       AND ( T.stratId = 7 OR TT.stratId = 7 ) --Line 1
    -- AND ( T.stratId = 7 AND TT.stratId = 7 ) --Line 2
Run Code Online (Sandbox Code Playgroud)

当我保留最后一行的注释时,我得到0个结果,但是当我取消注释它并注释它之前的行时,我得到了一些结果。

这怎么可能?

t-sql sql-server

6
推荐指数
1
解决办法
128
查看次数

标签 统计

sql-server ×1

t-sql ×1