我正在寻找一种方法来删除表1中的记录,其中包含'stn'和'jaar'中表2中的匹配组合.table2中列'jaar'的内容在前一个阶段/查询中格式化
年(基准)AS'jaa'
对不起,找不到我发现这个"解决方案"的网站了.
DELETE FROM table1
WHERE stn, year(datum) IN (SELECT stn, jaar FROM table2);
Run Code Online (Sandbox Code Playgroud)
Dav*_*dEG 22
你可以使用exists以下方法实现:
DELETE
FROM table1
WHERE exists(
SELECT 1
FROM table2
WHERE table2.stn = table1.stn
and table2.jaar = year(table1.datum)
)
Run Code Online (Sandbox Code Playgroud)
Skl*_*vvz 14
规范的T-SQL(SqlServer)答案是使用DELETEwith JOINas
DELETE o
FROM Orders o
INNER JOIN Customers c
ON o.CustomerId = c.CustomerId
WHERE c.FirstName = 'sklivvz'
Run Code Online (Sandbox Code Playgroud)
这将删除所有具有名字Sklivvz的客户的订单.