Sql GROUP BY与数组冲突

时间:2016-02-05 10:31:33

标签: mysql sql join group-by

我有这张表:

  • Projectos:Pid,价值,价值,价值......
  • Sectores:ID,value,value,value ......
  • Projectos-Sectores:ProjectID(Pid),SectorID(ID)

我在做这个查询:

SELECT * 
FROM `Projectos` 
JOIN `Projectos-Sectores` ON `ProjectID` = `Pid` 
JOIN `Sectores` ON `SectorID` = `Sectores`.`ID`
GROUP BY `Pid` 

第一次都是正确的。正确地进行连接和分组。没有'Pid'重复。

当只显示“Projectos-Sectores”表中的最后一个巧合时出现问题。

我希望返回一个数组,其中“Projectos”和& “Sectores”。不重复'Pid'。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  

当我得到结果并且我想得到" sectores"链接到" Projectos"。只显示表格中的最后一个巧合" Projectos-Sectores"。

是的,因为您按Pid分组。

  

我希望返回一个数组,其中包含" Projectos" &安培; " Sectores&#34 ;.没有重复' Pid'。

例如,您可以按Pid排序,然后处理处理行的代码中的所有行和组,但是您将获得表中的每一行和多个Pid - 转换,这会转换多个行除了数据库之外,其他地方的数据结构看起来不像关系数据库。

SELECT * 
FROM `Projectos` 
JOIN `Projectos-Sectores` ON `ProjectID` = `Pid` 
JOIN `Sectores` ON `SectorID` = `Sectores`.`ID`
ORDER BY `Pid`