首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL删除类似条目

SQL删除类似条目
EN

Stack Overflow用户
提问于 2017-04-23 03:19:20
回答 1查看 43关注 0票数 1

SQL问题。我目前有两个SQL表,一个是名为等待列表的表,另一个是预订表。它们是不一样的(等待名单包含比预订更多的信息)。它们看起来是这样的:

等候名单:

代码语言:javascript
运行
复制
#   Customer    Day                 Timestamp                   Flight
1   Joseph     2017-04-22      2017-04-22 16:20:33.178     F101

预订:

代码语言:javascript
运行
复制
#   Customer    Flight  Day
1   Timmy   F101    2017-04-22
2   Joseph  F101    2017-04-22

我想从等待名单中删除重复数据(在本例中是joseph条目).我尝试了以下几种方法:从等待列表中删除Customer = booking.customer和day = booking.day和booking.flight,我也尝试了一个内部连接,但没有成功。救命啊!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-23 04:08:17

实现目标有多种方法,但对您的问题最合适的答案是数据库供应商特定的

也就是说,在MySQL和Server中,您都可以在DELETE语句中直接使用DELETE

代码语言:javascript
运行
复制
DELETE w 
  FROM waitlist w JOIN booking b 
    ON w.customer = b.customer
   AND w.day = b.day
   AND w.flight = b.flight; 

斯奎德尔用于MySql,斯奎德尔用于Server

在PostgreSQL中,您可以利用EXISTS

代码语言:javascript
运行
复制
DELETE FROM waitlist w
 WHERE EXISTS (
     SELECT *
       FROM booking
      WHERE customer = w.customer
        AND day = w.day
        AND flight = w.flight
);

SqlFiddle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43567016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档