SQL - 查询返回可能不存在的行

时间:2013-10-18 14:03:12

标签: sql sql-server sql-server-2012

我在Microsoft SQL Server 2012中工作。 我运行这个查询:

select * from tblbill

^返回四行。特别是我感兴趣的领域的4个不同值paymentduedate ^

我运行第二个查询:

select b.paymentduedate, ledgertypeid, l.Billid
from tblbill as b
    join tblledger as l on b.billid = l.billid

^^返回运行b.paymentduedate时未返回的值为elect *的20行。 paymentduedate不是tblledger中的列。

这怎么可能?我的第一个猜测是tblBill中的某些行可能会隐藏,但我现在知道如何检查它。

2 个答案:

答案 0 :(得分:0)

可能没有什么理由:

  • billid中有20条匹配tblledger的记录(所谓的重复记录来自tblbill中的相同4条记录,您应该计算不同的值以确定是否存在重复记录)

  • 运行第一个查询后,该数据已更改。

任何方式都没有隐藏记录

答案 1 :(得分:-3)

当您加入时,您将获得所有选项。使用内,左或右连接