【发布时间】:2016-12-30 13:31:04
【问题描述】:
下面是我的部分sql代码-
INTO #tmpRecDistData2
FROM #TempReceivingUnmatchedUPCs tr
FULL JOIN #tmpDistributorRecords td
ON ( tr.RecUPC=td.DistUPC )
where
tr.RecSupplierInvoiceNumber=td.DistSupplierInvoiceNumber
这里的 where 子句不起作用,无论两张发票相同还是不同,都会给出所有结果。 可能是什么原因?
编辑
RecSupplierInvoiceNumber DistSupplierInvoiceNumber
00000000111807 6745
00000000111807 5635
00000000111807 5676
这是我使用 where 子句后得到的输出
SELECT td.DistSupplierInvoiceNumber,td.DistProductDescription,td.DistUPC,
td.DistProductID, td.DistTranslationExists,td.DistInCatalog, tr.RecSupplierInvoiceNumber,tr.RecProductDescription,tr.RecUPC,tr.RecProductID
INTO #tmpRecDistData2
FROM #TempReceivingUnmatchedUPCs tr
FULL JOIN #tmpDistributorRecords td
ON ( tr.RecUPC=td.DistUPC )
WHERE RecSupplierInvoiceNumber=DistSupplierInvoiceNumber
【问题讨论】:
-
实际上这似乎不是真的。你绝对完全确定这正在发生吗?您的代码中没有其他
OR <some other condition>? -
由于
Where子句,它将充当Inner Join -
这是真的,即使我在 tr.RecSupplierInvoiceNumber='00111807' 处添加条件,它也不会过滤数据。这些数据是否来自缓存?
-
不,这不应该发生(我敢打赌它不会真的发生)。没有其他条件?,这就是全部代码吗?
-
@PraveenSingh - 我们都是这里的志愿者,当有人(Lamak)向你寻求帮助时,没有人会因为帮助你而得到报酬,应该回复它。发布您输入的临时表和预期结果的完整查询示例数据
标签: sql-server