有两个表Document
和DocumentPos
。在Document
there is columnGUID
和 in DocumentPos
is columnDocumentGUID
是指 table Document
。
我想让每一行都在
DocumentPos
它DocumentGUID
现在所在的行中Documents'
GUID
。
我有这个返回 0 行的查询:
select *
FROM Document d,
DocumentPos dp
WHERE d.GUID = dp.DocumentGUID
AND dp.DocumentGUID NOT IN (
SELECT d.GUID
FROM Document
)
但是,当我执行select * from documentpos
它时,它会返回例如带有DocumentGUID
=的行B479BCB72334424DAC1B7CC26880DAB8
。这DocumentGUID
是NOT IN
作为. Document
_GUID
但select * from Document where GUID = 'B479BCB72334424DAC1B7CC26880DAB8'
返回 0 行。
我想像这样构建查询,因为它应该成为一个DELETE
语句:
DELETE dp
FROM Document d,
DocumentPos dp
WHERE d.GUID = cp.DocmentGUID
AND dp.DocumentGUID NOT IN (
SELECT d.GUID
FROM Document
)
第二个问题我也想知道:
为什么括号中
FROM d
不可能而且只有FROM Document
?