Mysql JOIN正在复制组内容
我有一个疑问:Mysql JOIN正在复制组内容,mysql,Mysql,我有一个疑问: SELECT projetos.id_projeto, projetos.projeto AS projeto, projetos.descricao AS descricao, projetos.thumb, GROUP_CONCAT(imagens.imagem ORDER BY imagens.ordem ASC) AS imagens, GROUP_CONCAT(imagens.largura ORDER BY imagens.ordem ASC) AS la
SELECT
projetos.id_projeto,
projetos.projeto AS projeto,
projetos.descricao AS descricao,
projetos.thumb,
GROUP_CONCAT(imagens.imagem ORDER BY imagens.ordem ASC) AS imagens,
GROUP_CONCAT(imagens.largura ORDER BY imagens.ordem ASC) AS larguras,
GROUP_CONCAT(imagens.altura ORDER BY imagens.ordem ASC) AS alturas,
GROUP_CONCAT(premios.id_premio) AS premio
FROM projetos
JOIN imagens ON projetos.id_projeto = imagens.id_projeto
JOIN premios ON premios.id_projeto = projetos.id_projeto
WHERE projetos.id_projeto = 44
GROUP BY projetos.id_projeto
但它复制了imagens、larguras、alturas和premio的内容
我尝试在组内使用DISTINCT
。但是有些宽度值是相等的,我需要每个图像有一个宽度
:
你能提供一些数据来帮助我们吗?谢谢首先,根据您发布的查询,您根本不需要此查询中的
奖品
表:-),第二件事是将加入
替换为左加入
@Alex我添加奖品以在一个查询中获取所需的所有信息。你有什么建议?我添加了LEFT JOIN,但输出是相同的。因此,请向我们显示原始数据、结果以及预期结果,我们可以帮助您。如果您需要表奖品中的信息
,则在选择…
@Alex时,应至少使用该表中的一个字段。我编辑代码。
SELECT
projetos.id_projeto,
projetos.projeto AS projeto,
projetos.descricao AS descricao,
projetos.thumb,
imgs.*,
prem.premio
FROM projetos
JOIN (
SELECT id_projeto,
GROUP_CONCAT(imagem ) AS imagens,
GROUP_CONCAT(largura ) AS larguras,
GROUP_CONCAT(altura ) AS alturas
FROM imagens
GROUP BY id_projeto
) imgs ON projetos.id_projeto = imgs.id_projeto
JOIN (
SELECT id_projeto,
GROUP_CONCAT(premios.id_premio) AS premio
FROM premios
GROUP BY id_projeto
) as prem ON prem.id_projeto = projetos.id_projeto
WHERE projetos.id_projeto = 44
GROUP BY projetos.id_projeto ;