SQL问题。我目前有两个SQL表,一个是名为等待列表的表,另一个是预订表。它们是不一样的(等待名单包含比预订更多的信息)。它们看起来是这样的:
等候名单:
# Customer Day Timestamp Flight
1 Joseph 2017-04-22 2017-04-22 16:20:33.178 F101
预订:
# Customer Flight Day
1 Timmy F101 2017-04-22
2 Joseph F101 2017-04-22
我想从等待名单中删除重复数据(在本例中是joseph条目).我尝试了以下几种方法:从等待列表中删除Customer = booking.customer和day = booking.day和booking.flight,我也尝试了一个内部连接,但没有成功。救命啊!!
发布于 2017-04-23 04:08:17
实现目标有多种方法,但对您的问题最合适的答案是数据库供应商特定的。
也就是说,在MySQL和Server中,您都可以在DELETE
语句中直接使用DELETE
DELETE w
FROM waitlist w JOIN booking b
ON w.customer = b.customer
AND w.day = b.day
AND w.flight = b.flight;
在PostgreSQL中,您可以利用EXISTS
DELETE FROM waitlist w
WHERE EXISTS (
SELECT *
FROM booking
WHERE customer = w.customer
AND day = w.day
AND flight = w.flight
);
https://stackoverflow.com/questions/43567016
复制相似问题