Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql JOIN正在复制组内容_Mysql - Fatal编程技术网

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 ;