2011-01-21 12 views
1

によるとIFNULL合計及びグループ(例えば1,2,3することができる)私はチームの識別子と共に、支払うべきお金のテーブルを持っている

を使用して、私はこれらのチーム識別子に名前を与え、別のテーブルを持っています(1はTeam1を参照し、2はJohnのjokersを参照することができます)

最初のテーブルは、お金のために複数のエントリを持つことができ、チーム識別子ごとに総額を取得し、 。

私はテーブルを結合したままにして、合計句を使用し、チーム名ごとに合計金額を取得します。チーム名が存在しない場合はnullを返します。それがnullの場合、私はチームの識別子を使用したいので、結果は99チーム識別子である何TEAMNAMEがなかったとヌル存在があったので

name   total 
..................... 
team1   100 
John's jokers 1000 
99    50 

ようになります。

ifnull(columnName、teamID)を使用しようとしましたが、これはsum句を使用すると失敗しました。

は誰でもしてください

答えて

3

この問題に助けてもらえます私はIFNULL()は次のように使用されていると思う:

select ifnull(teams.team_name, teams.team_id) from teams; 

だからこの場合には、チームの名前を取得しようと、それが来る場合その代わりにチームの識別子を使用します。この場合、クエリは次のようになりますではない、チームのためのIDフィールドを要求することにより、

select ifnull(teams.team_name, owing.team_id), sum(amount_owed) 
    from owing left join teams on owing.team_id = teams.id 
group by owing.team_id 

は必ずグループを作成し、そうでなければ、ヌルフィールドでグループ化されます。

これで問題は解決しますか?

+0

恐ろしいですね!それはそれを治療した!私はチームのIDでグループ化していたと思う。ご協力いただき誠にありがとうございます。 – Dave

関連する問題