有两个表Document和DocumentPos。在Documentthere is columnGUID和 in DocumentPosis 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?