gpt4 book ai didi

mysql - 返回具有一个值但没有另一个值的行

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:08 24 4
gpt4 key购买 nike

对于每个相同的日期(这只是表格的一部分),我想返 repo 买了 A 但没有购买 B 的帐号,反之亦然的另一个查询。因此,运行 A 但没有 B 的第一个查询应该返回 2 和 5。运行 B 但没有 A 的反之亦然查询应该给我 4。感谢您的帮助。我假设我必须在 table 上进行某种连接,但我被卡住了。

+----+----------------+---------------+----------+--+--+
| ID | Account Number | Purchase Type | Date | | |
+----+----------------+---------------+----------+--+--+
| 1 | 1 | A | 20140301 | | |
| 1 | 1 | A | 20140301 | | |
| 1 | 1 | B | 20140301 | | |
| 2 | 2 | A | 20140301 | | |
| 3 | 3 | A | 20140301 | | |
| 3 | 3 | B | 20140301 | | |
| 4 | 4 | B | 20140301 | | |
| 5 | 5 | A | 20140301 | | |
| 5 | 5 | A | 20140301 | | |
+----+----------------+---------------+----------+--+--+

最佳答案

不确定这是否一定是最好的方法,但是内部 select 会起作用:

select distinct account_number
from purchases p
where purchase_type = "A" and account_number not in
(
select account_number
from purchases
where purchase_date = p.purchase_date and purchase_type = "B"
)

您首先收集所有购买类型为“B”的 ID,然后收集所有不在第一个集合中的购买类型为“A”的 ID。

(假设您的表是purchasesIDid intPurchase Datepurchase_date char(1)Datepurchase_date char(8),但您应该能够使查询适应您的实际列。

对应的 fiddle :http://sqlfiddle.com/#!9/edf73f/7/0 )

关于mysql - 返回具有一个值但没有另一个值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46123928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com