2013-01-01 57 views
0

我正在使用MySQL通过查询来显示团队记录了两个或更多DD的游戏。如何遍历多列MySQL列并返回单行结果?

结果是这样的:

enter image description here

我的问题是,我只能得到一个球员出现在玩家列时(正如我所说的,两个或两个以上的球员有DD)。

这里是我的代码:

SELECT * FROM 

     (SELECT game_Date, 
     game_GameID, 
     game_SeasonID, 
     game_TeamCode, 
     teams_Name, 
        ........ other PTS/AST/REB stats too! 
     stats1_GameID, 
     Sum(stats1_DD) AS 'TotGameDD' 

     FROM game INNER JOIN teams INNER JOIN stats1 
     ON 
     teams_TeamCode = game_TeamCode 
     AND 
     game_GameID = stats1_GameID 
    AND 
    game_PlayerID = player_PlayerID 

     GROUP BY game_GameID 
     HAVING Sum(stats1_DD) >1 
     ORDER BY Sum(stats1_DD) desc) t 

    FROM game INNER JOIN teams INNER JOIN stats1 
    ON 
    teams_TeamCode = game_TeamCode 
    AND 
    game_GameID = stats1_GameID 


    GROUP BY game_GameID, stats1_DD 
    HAVING Sum(stats1_DD) >1 
    ORDER BY Sum(stats1_DD) desc 





    FROM game INNER JOIN teams INNER JOIN stats1 
    ON 
    teams_TeamCode = game_TeamCode 
    AND 
    game_GameID = stats1_GameID 


    GROUP BY game_GameID, stats1_DD 
    HAVING Sum(stats1_DD) >1 
    ORDER BY Sum(stats1_DD) desc 

这是我坚持。我在过去也遇到过这类问题。我想我需要一个循环,让所有玩家都有DD,然后返回玩家名字,加上他们的PTS/AST和TOTREB统计。

我只是似乎无法召集能力去实现它。

任何帮助,或方向,非常感谢。

感谢,

回答

1

通过DD我假定你的意思两双。

你可以尝试使用GROUP_CONCAT,这将给你一个逗号分隔值列表的列: http://sqlite.awardspace.info/syntax/examples/group_concat.htm

+0

感谢。我现在正在研究它。对不起,DD = Double Double。 :) – kentrenholm

+0

哇!谢谢。有用。你不知道我花了多长时间来完成这项工作。你是天赐之物!反正有没有逗号,而是有一个换行符?再次。惊人!! – kentrenholm

+0

研究如何将多个列放入此列。说出名字,姓氏,然后是统计。再次感谢。 – kentrenholm