gpt4 book ai didi

MySQL简单连接避免多个重复行

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

假设我有 2 张 table :第一有以下列:

products
--------
id name price
1 someproduct 99

第二

productimages
-----------
productId img
1 someimgurl
1 someimgurl2

我想获取产品1的名称、价格和图片。

SELECT products.name, products.price, productimages.img  FROM products INNER JOIN productimages WHERE products.id=1

此查询给出以下结果:

[ {
name: 'someproduct',
price: 99,
img:
'someimg' },
{
name: 'someproduct',
price: 99,
img:
'someimgurl2' }
]

如您所见,名称和价格重复。我想要得到的结果是:

[ {
name: 'someproduct',
price: 99,
img:[
'someimgurl','someimgurl2'] },
]

最佳答案

您可以使用聚合来获取单行。也许:

SELECT p.name, p.price, GROUP_CONCAT(pi.img) as img
FROM products p INNER JOIN
productimages pi
on p.id = pi.product_id
WHERE p.id = 1
GROUP BY p.name, p.price;

我还注意到您有一个没有 ON 子句的 JOIN 。在除 MySQL 之外的任何数据库中,这都将是一个语法错误。

关于MySQL简单连接避免多个重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54354144/

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