gpt4 book ai didi

mysql - Select涉及多对多表

转载 作者:行者123 更新时间:2023-11-30 01:09:34 24 4
gpt4 key购买 nike

我有 3 个表:产品、功能和链接表(多对多)例如,我需要从链接表中获取所有产品,这些产品具有 id = 1、2 和 3 的 3 个功能

   link_id | product_id | feature_id
---------------------------------
100 | 1 | 1
101 | 1 | 2
102 | 1 | 3

伙计们,编写查询的最简单方法是什么?

SELECT pr.* FROM product pr, link lk WHERE pr.id = lk.product_id 
AND lk.feature_id = 1 AND lk.feature_id = 2 AND lk.feature_id = 3

不起作用

最佳答案

当您检查三个不同记录的值时,您无法检查所有记录上的所有值。

进行三个连接,每个功能再连接一个链接记录:

select
pr.*
from
product pr
inner join link lk1 on pr.id = lk1.product_id and lk1.feature_id = 1
inner join link lk2 on pr.id = lk2.product_id and lk2.feature_id = 2
inner join link lk3 on pr.id = lk3.product_id and lk3.feature_id = 3

关于mysql - Select涉及多对多表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19553085/

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