tempdb 正在创建重复的 PK 值。
我已将其缩小到特定的内部联接。
所有加入到此返回 [3,4,5,6,7,8,9] 具有共享的 FK 值。
在此加入后,它返回值 [7,8,8,9]。
INNER JOIN VEX
ON VEX_D_KEY = VEXT_D_KEY
AND T_KEY = VEXT_T_KEY
此连接需要重新处理以处理重复的 PK 值,应该 被删除。
INNER JOIN TA
ON TEX_O_KEY = TA_O_KEY
AND TXS_TL_KEY= TA_TL_KEY
AND (VEXT_O_KEY IS NULL
OR VEXT_O_KEY = ISNULL(TA_O_KEY, 0))
加入后我们得到 [7,8,8].
在重复值上数据不相同。我说我相信 2nd JOIN 需要返工的原因是因为
8 - VEX_O_KEY = NULL
8 - VEX_O_KEY = TA_O_KEY
还有
7 - VEX_O_KEY = NULL
我该如何处理?
数据库很大。恢复这不是一个选项。