【发布时间】:2021-09-23 21:26:40
【问题描述】:
我有下表,其中每个客户有两列。如果每个客户在 A 列中,我想删除 B 列中的行。在此示例中,我们将为 Tom 删除 B 列中带有“123”的行,因为它位于 A 列中。
很抱歉造成混乱。
| Client | Column A | Column B |
|---|---|---|
| Tom | 123 | 560 |
| Tom | 544 | 123 |
| Bob | 658 | 85 |
| Tom | 32 | 123 |
| Sean | 45 | 105 |
输出
| Client | Column A | Column B |
|---|---|---|
| Tom | 123 | 560 |
| Bob | 658 | 85 |
| Sean | 45 | 105 |
【问题讨论】:
-
您删除带有
DELETE的行。您可以使用EXISTS查看是否存在一行。 (您也可以为此使用IN。)您到底遇到了什么问题?我的提示是否已经帮助您解决了这个问题? -
这不会让您完全没有具有相同值的记录吗?这正是您想要实现的目标吗?
-
@groovy_guy,很抱歉我最初的帖子不清楚。我已经编辑了问题/示例。基本上,如果在每个客户的 A 列中找到 B 列中的值,我希望删除一行。
-
好的,你想删除重复的cients,以便每个客户端保留一行。 (一旦您这样做了,您可能应该对该列实施唯一约束,以免将来出现重复。)您如何决定保留一行?为什么您保留的是 Tom|123|560 而不是其他 Tom 条目之一?
-
再说一遍:你到底遇到了什么麻烦?是什么阻止您使用
EXISTS编写DELETE声明?