2011-10-28 1 views
0

私はPHPとMySQLを使って日記管理スクリプトを開発しています。私は、仮説的なテーブル構造と私の必要条件の下で私が提示している状況に固執しています。ユーザーに関連したカテゴリの賢明な値を取得するにはどうすればよいですか?

 
|---------------|--------------| 
| User Name | Status  | 
|---------------|--------------| 
| John   | Open  | 
|---------------|--------------| 
| John   | Assigned | 
|---------------|--------------| 
| John   | Closed  | 
|---------------|--------------| 
| Miller  | Assigned | 
|---------------|--------------| 
| Miller  | Assigned | 
|---------------|--------------| 
| Smith  | Closed  | 
|---------------|--------------| 

次のような究極のウェブページ出力が期待されます。

 
|---------------|--------------|--------------|--------------| 
| User Name | Open  | Assigned | Closed  | 
|---------------|--------------|--------------|--------------| 
| John   |  1  |  1  |  1  | 
|---------------|--------------|--------------|--------------| 
| Miller  |  0  |  2  |  0  | 
|---------------|--------------|--------------|--------------| 
| Smith  |  0  |  0  |  1  | 
|---------------|--------------|--------------|--------------| 

MySQLのクエリ(GROUP BYを使用して)自分自身を使用して作られたか、私はプログラミングロジックの少しの助けを取得する必要があり、これは準備ができて生産することができるかどうかを提案してください。もしそうなら、私は何をコードするべきですか?私は非常に無力です。私はここに全体のスクリプトを提供することができましたが、私は混乱を避けるためだけにしませんでした。

答えて

2
select `User Name`, 
    sum(case when Status = 'Open' then 1 end) as Open, 
    sum(case when Status = 'Assigned' then 1 end) as Assigned, 
    sum(case when Status = 'Closed' then 1 end) as Closed 
from Status 
group by `User Name` 
+0

グレート!!!!!!!!!!!それは私の必要性にちょうど合った本当にありがとうございます! – Samcoder

関連する問題