gpt4 book ai didi

MySQL:连接 3 个表,第一个表限制结果?

转载 作者:行者123 更新时间:2023-11-29 05:46:21 25 4
gpt4 key购买 nike

我正在从 prod_drop 中选择所有内容并加入其他 2 个表以获取额外数据。我不想重复 prod_drop 中的任何行,我只希望每个 prod_drop 行有 1 行。

这是我的查询:

SELECT 
prod_drop.*
, prod_drop_products.product_id
, cart_product.product_image_sm
FROM
prod_drop
LEFT JOIN
prod_drop_products
ON
prod_drop.prod_drop_id = prod_drop_products.prod_drop_id
LEFT JOIN
cart_product
ON
prod_drop_products.product_id = cart_product.product_id
ORDER BY
prod_drop_id
DESC

结果如下:

prod_drop_id    prod_drop_name  prod_drop_available product_id  product_image_sm
51 Carat Weight yes 4971 S5-3515Y_S.jpg
51 Carat Weight yes 4970 S5-3515Y_S.jpg
51 Carat Weight yes 4969 S5-3515Y_S.jpg
50 Carat Weight yes 4959 S5-3515_S.jpg
50 Carat Weight yes 4960 S5-3515_S.jpg
50 Carat Weight yes 4958 S5-3515_S.jpg
49 Metal Quality yes 3269 Q-8785X-14_S.jpg
49 Metal Quality yes 3270 Q-8785X-14_S.jpg
48 Gold Color yes 1635 1390-Y_S.jpg
48 Gold Color yes 1390 PE0048-12W_S.jpg

但我只希望每个 prod_drop_id 一行(哪个无关紧要)所以基本上我希望我的结果是这样的:

prod_drop_id    prod_drop_name  prod_drop_available product_id  product_image_sm
51 Carat Weight yes 4971 S5-3515Y_S.jpg
50 Carat Weight yes 4959 S5-3515_S.jpg
49 Metal Quality yes 3269 Q-8785X-14_S.jpg
48 Gold Color yes 1635 1390-Y_S.jpg

我该怎么做?

谢谢!

最佳答案

从你的数据可以看出,prod_drop中的每条记录显然在prod_drop_products中有不止一条记录。因此,如果您只希望 prod_drop 中每个不同行的输出中有一行,那么您需要从该表中删除输出列,或者决定您希望输出从 prod_drop_products 中的多行中的哪一行获取它的值查询来自此表的输出列(特别是 product_id)如果输出哪个 product_id 无关紧要(从业务角度来看这没有意义,但是嘿......)那么你可以使用 Min 或 max () 随你喜欢。如果它确实重要,那么请指定您要使用什么逻辑来做出该决定,并且可以编辑查询以反射(reflect)...

假设 Min() 没问题,你可以:

SELECT pd.prod_drop_id, pd.prod_drop_name, pd.prod_drop_available,     
Min(pp.product_id), Min(cp.product_image_sm)
FROM prod_drop pd
LEFT JOIN prod_drop_products pp
ON pp.prod_drop_id = pd.prod_drop_id
LEFT JOIN cart_product cp
ON cp.product_id = pp.product_id
Group By pd.prod_drop_id, pd.prod_drop_name, pd.prod_drop_available
ORDER BY prod_drop_id DESC

关于MySQL:连接 3 个表,第一个表限制结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1375520/

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