[英]How to delete all the rows where each row's id is equal to another table's id (SQL Server)
mainGroup
(datasetID大于等于1788)
dataGroup' 名称是粗体文本。
datasetID | dataGroup | dataDesc
----------+-----------------------------+----------
1790 | **dGroup1** note xxxx | desc1
1789 | **dGroup1** late notice .. | desc2
1788 | **dGroup1** jack ... | desc3
例如)dGroup1
dGroup1_ID | create_date | datasetID
-----------+-------------+-------
379 | 01-01-01 | 1790
378 | 01-01-01 | 1789
377 | 01-01-01 | 1788
我想删除 dGroup1/dGroup2/dGroup3 表中的拖车,其中它的 datasetID 等于 mainGroup 表中相应的 datasetID,其中 mainGroup 中的 datasetID 大于等于 1788。(例如 dGroup1 为 1790,dGroup2 为 1789,等等.)
除了单独删除之外,有没有办法一次执行所有操作?
因此,您想根据表 mainGroup 的内容删除表dGroup1
、 dGroup2
和dGroup3
上的mainGroup
。
对于dGroup1
,它看起来像这样:
DELETE t1
FROM dGroup1 t1
INNER JOIN mainGroup t2
ON t1.datasetID = t2.datasetID
AND t2.datasetID >= 1788
您可以对表dGroup2
和dGroup3
重复此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.