Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL-返回可能不存在的行的查询_Sql_Sql Server_Sql Server 2012 - Fatal编程技术网

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

SQL-返回可能不存在的行的查询,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我在微软SQL Server 2012工作。 我运行以下查询: select * from tblbill ^返回四行。特别是我的兴趣领域paymentduedate的4个不同值^ 我运行第二个查询: select b.paymentduedate, ledgertypeid, l.Billid from tblbill as b join tblledger as l on b.billid = l.billid ^^返回二十行,其值为B.paymentduedate,在运行ele

我在微软SQL Server 2012工作。 我运行以下查询:

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

我运行第二个查询:

select b.paymentduedate, ledgertypeid, l.Billid
from tblbill as b
    join tblledger as l on b.billid = l.billid
^^返回二十行,其值为B.paymentduedate,在运行elect*时未返回该值。paymentduedate不是tblledger中的一列


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

当您加入时,您将获得所有选项。使用内部连接、左连接或右连接可能有以下几个原因:

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

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


无论如何,没有隐藏记录这回事

这不是真的。只是使用连接和内部连接是一样的,就像我说的,paymentduedate是tblbill特有的字段,因此操作联接类型不会对查询结果产生影响…其他一些问题-数据正在更改或它是不同的tblbill您的记录从第一个表中复制到您要联接的表中的每个匹配项。您在tblledger中有5条相关记录tblbill中的记录因此tblbill中有4个记录,我猜是20个记录?我希望通过这种方式,您可以显示此表的实际记录,这将非常有帮助。本能告诉我,您有一对多的加入。也就是说,您正在显示每个tblbill,但每次它都根据您的加入匹配tblledger中的记录。@DStanley就是这样。我需要为tblbill指定正确的数据库。非常感谢。