gpt4 book ai didi

mysql - 一张表中的复杂 SQL 查询

转载 作者:行者123 更新时间:2023-11-29 06:43:19 25 4
gpt4 key购买 nike

我有一个如下表,我想要在不同国家/地区具有相同批号的产品。我需要所有记录。

表:

╔════════════╦════════════╦═════════╗
║ Product ID ║ Lot Number ║ Country ║
╠════════════╬════════════╬═════════╣
║ 1 ║ L01 ║ US ║
║ 2 ║ L02 ║ US ║
║ 3 ║ L01 ║ UK ║
║ 4 ║ L02 ║ US ║
║ 5 ║ L03 ║ UK ║
║ 6 ║ L03 ║ US ║
║ 7 ║ L03 ║ US ║
╚════════════╩════════════╩═════════╝

要求的输出:

╔════════════╦════════════╦═════════╗
║ Product ID ║ Lot Number ║ Country ║
╠════════════╬════════════╬═════════╣
║ 1 ║ L01 ║ US ║
║ 3 ║ L01 ║ UK ║
║ 5 ║ L03 ║ UK ║
║ 6 ║ L03 ║ US ║
║ 7 ║ L03 ║ US ║
╚════════════╩════════════╩═════════╝

最佳答案

那个相对简单:

SELECT *
FROM MyTable t1
WHERE EXISTS (
SELECT * FROM MyTable t2
WHERE t1.LotNumber=t2.LotNumber AND t1.Country <> t2.Country
)

这是不言自明的:您希望所有行都至少有一行具有相同的批号,但国家不同。请注意,为了在同一个查询中使用同一个表两次在 SQL 中表达这一点,您需要为您的表指定一个别名:在上面的查询中,即 t1t2 .

关于mysql - 一张表中的复杂 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20110206/

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