我不是一个训练有素的SQL人员,但我通常可以编写基本查询。但这让我感到困惑。
该表的一个子集是:
fldUID (auto-increment unique)
fldSrcAddress
fldDstAddress
fldSrcDNSHost
fldDstDNSHost
我试图检索具有fldSrcAddress或fldDstAddress的记录的fldUID,并且fldSrcDNSHost为NULL或fldDstDNSHost为NULL。
我的查询是:
SELECT top 1 fldUID, fldSrcAddress, fldDstAddress
From tbl_ExtLog_FirewallTraffic
Where fldSrcAddress Is Not Null or fldDstAddress is not null
And (fldSrcDNSHost Is Null Or fldDstDNSHost is null )
order by fldUpdateTimeStamp asc
但查询返回fldUID 32831,即:
Example Data:
fldUID = 32831
fldSrcAddress = 192.168.1.100
fldDstAddress = 192.168.2.69
fldSrcDNSHost = Asus
fldDstDNSHost = Lucifer
字段2和3都有数据(这样才有意义)。但是字段4和5也有数据,但是我的查询试图找到字段4或5为NULL的记录。
显然是一个愚蠢的错误 - 任何帮助都会受到赞赏。
由于
伊恩
答案 0 :(得分:2)
可以是括号问题。
试试这个:
input