group_concat缺少该组

时间:2011-02-14 12:49:33

标签: mysql group-by

我有两个表,第一个把一对人放入一个有fldPairNum的组和一个第二个表来收集每个人的分数。

我遇到的问题是,如果只有其中一个提交了分数,那么只有他们的名字出现在'nameOfPair'列中,但我确实需要这两个名字。我该怎么做才能解决这个问题?

SELECT
group_concat(DISTINCT `delegate`.`fldFirstName`,' ',`delegate`.`fldSurname` SEPARATOR ' and ') AS 'nameOfPair',
Sum(`data`.`fldScore`) AS 'totalScore' 
FROM 
`data` 
Inner Join `delegate` ON `data`.`fldDelegateID` = `delegate`.`fldID`
WHERE
`delegate`.`fldCategory` >  '0'
AND
`delegate`.`fldPairNum` >  '0'
GROUP BY
`delegate`.`fldPairNum`

非常感谢 戴夫

1 个答案:

答案 0 :(得分:0)

SELECT GROUP_CONCAT(DISTINCT
       `delegate`.`fldFirstName`, ' ', `delegate`.`fldSurname`
       SEPARATOR
       ' and ')               AS 'nameOfPair',
       SUM(`data`.`fldScore`) AS 'totalScore'
FROM   `delegate`
       LEFT JOIN `data`
         ON `data`.`fldDelegateID` = `delegate`.`fldID`
WHERE  `delegate`.`fldCategory` > '0'
       AND `delegate`.`fldPairNum` > '0'
GROUP  BY `delegate`.`fldPairNum`