gpt4 book ai didi

mysql - 如何组合这两个表,以便我可以对每个表上的信息进行排序,但不会得到重复的答案?

转载 作者:行者123 更新时间:2023-11-29 09:33:14 24 4
gpt4 key购买 nike

我有两张 table 。第一个名为 master_list。它具有以下字段:master_iditem_idnameimgitem_code、和长度。我的第二个表名为 types_join。它具有以下字段:master_idtype_id。 (还有第三个表,但它没有在查询中使用。它更多地供引用。)我需要能够组合这两个表,以便我可以筛选结果以仅显示某些结果,但只显示部分结果要筛选的信息位于一张 table 上,另一部分位于另一张 table 上。我不想要重复的答案。

例如,假设我只想要 type_id 为 3、长度为 18 的项目。

当我使用时

SELECT * FROM master_list LEFT JOIN types_join ON master_list.master_id=types_join.master_id WHERE types_join.type_id = 3 AND master_list.length = 18" 

它两次找到相同的东西。

如何查询此内容以免得到重复的答案?

这是我的表格中的示例以及我得到的结果。

enter image description here

这是我通过 INNER JOIN 得到的结果:

enter image description here

顺便说一句,master_idname 都仅在 master_list 表中具有唯一信息。但是,types_join 表随后确实多次使用 master_id,但不适用于 Lye。这就是为什么我知道它是重复信息的原因。

最佳答案

如果您想要 master_list 中的唯一行,请使用 exists:

SELECT ml.*
FROM master_list ml
WHERE ml.length = 18 AND
EXISTS (SELECT 1
FROM types_join tj
WHERE ml.master_id = tj.master_id AND tj.type_id = 3
);

您获得的任何重复项都将在 master_list 中重复。如果您想删除它们,您需要提供更多信息——我会推荐一个新问题。

关于mysql - 如何组合这两个表,以便我可以对每个表上的信息进行排序,但不会得到重复的答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58244101/

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