SQL中的依赖关系
在SQL中,我必须从表A
中删除依赖于表B
的数据。
要删除的数据应该满足两个条件WorkArea='123' and FileNo='45'
。SQL中的依赖关系
表B
有WorkArea
但它不包含FileNo
的数据。
而表A
包含满足这两个条件的记录。
没有任何引用密钥。为更清楚起见,请在此处添加查询:
从表A中选择*,其中WorkArea ='123'和FileNo = '45';
这将生成结果记录。但由于它依赖于表B,我不能直接删除它。另外,从表B中删除它是不可能的,因为WorkArea中的数据是一个整体,它包含许多文件,我必须删除特定的文件。
那么如何删除表A
中的数据?
如果没有外键,下面的句子会工作。
DELETE FROM [A] WHERE [WorkArea] = '123' AND [FileNo] = '45';
然后你就可以programmaticaly检查是否有“孤儿”上表B
有以下要求:
SELECT DISTINCT [B].[WorkArea]
FROM [B]
LEFT JOIN [A]
ON [A].[WorkArea] = [B].[WorkArea]
WHERE [A].[WorkArea] IS NULL
要加强这方面的最后一部分,并从中产生DELETE
一句话,只是存储结果将此请求转换为临时表格,然后将其作为WHERE
语句与IN
关键字一起使用。
谢谢@ Hybris95为您提供即时帮助! –
随时upvote /接受答案 – Hybris95
表结构请... – Ravi
添加一些示例表数据和结构。 – Yugandhar
这些表之间是否有任何外键设置?就像我之前的每个人都说过的:表格结构/数据(例子)可能需要回答您 – Hybris95