从 table 中删除行,其中列来自另一个 table

delete rows from table where the columns are from another table

我的触发器有问题,因为我需要从我的 table 之一中删除行,但 id 需要从那个 table 左连接到刚插入的数据.

        DELETE FROM  TransactionTable where ItineraryReferenceNumber = 
        (select distinct i.ItineraryReferenceNumber from inserted i LEFT JOIN TransactionTable  FS 
        ON i.ItineraryReferenceNumber = FS.ItineraryReferenceNumber)

我需要获取所有参考编号与其匹配的记录,这就是我选择它们的原因。

这是正确的,还是我做错了什么?

实际上,您只是从 inserted table.

中的 TransactionTable 中删除了记录
DELETE FROM TransactionTable 
WHERE ItineraryReferenceNumber IN (
    SELECT ItineraryReferenceNumber FROM inserted
)
SELECT CustomerID FROM [Customers] where CUSTOMERID  NOT IN (SELECT O.CUSTOMERID from Customers c, Orders O where O.CustomerID=c.CustomerID)

查看此示例代码,来自 this database。 这是同一个查询,就像您一样,这将是 return 未下订单的客户的 ID。 您可以使用 same ,您正在删除这样的 ItineraryReferenceNumber ,它符合另一个 table.

的某些条件