0

Mysql を使用してピボット テーブルを作成中に問題が発生しました。

実際のクエリは次のとおりです

SELECT DISTINCT `bills_organization`.`name`,
        IF(`bills_bill`.`os_status`=1,COUNT(`bills_bill`.`os_status`),NULL) AS Unnknown,
        IF(`bills_bill`.`os_status`=2,COUNT(`bills_bill`.`os_status`),NULL) AS Introduced,
        IF(`bills_bill`.`os_status`=3,COUNT(`bills_bill`.`os_status`),NULL) AS Passedonechamber,
        IF(`bills_bill`.`os_status`=4,COUNT(`bills_bill`.`os_status`),NULL) AS Passedbothchambers,
        IF(`bills_bill`.`os_status`=5,COUNT(`bills_bill`.`os_status`),NULL) AS Enacted
FROM `bills_mybill` 
INNER JOIN `auth_user` ON (`bills_mybill`.`user_id` = `auth_user`.`id`) 
LEFT OUTER JOIN `bills_bill` ON (`bills_mybill`.`bill_id` = `bills_bill`.`id`) 
LEFT OUTER JOIN `bills_userprofile` ON (`auth_user`.`id` = `bills_userprofile`.`user_id`) 
LEFT OUTER JOIN `bills_organization` ON (`bills_userprofile`.`organization_id` = `bills_organization`.`id`) 
WHERE `bills_mybill`.`favorite` = TRUE  
GROUP BY `bills_organization`.`name`,`bills_bill`.`os_status`

この出力は次のようになります

名前 不明 導入された Passedonechamber Passedbothchambers 制定
ヌル ヌル 5 ヌル ヌル ヌル
NULL NULL NULL NULL 1 NULL
AEE NULL 16 NULL NULL NULL
AEE NULL NULL 1 NULL NULL
AEE NULL NULL NULL 4 NULL
AEE NULL NULL NULL NULL 2
テスト NULL 6 NULL NULL NULL
テスト NULL NULL NULL 2 NULL
テスト NULL NULL NULL NULL 6

組織が必要で、1行で数えます。私は複数の行を望んでいません。

前もって感謝します。

4

1 に答える 1

0
SELECT `bills_organization`.`name`,
        SUM(`bills_bill`.`os_status`=1) AS Unnknown,
        SUM(`bills_bill`.`os_status`=2) AS Introduced,
        SUM(`bills_bill`.`os_status`=3) AS Passedonechamber,
        SUM(`bills_bill`.`os_status`=4) AS Passedbothchambers,
        SUM(`bills_bill`.`os_status`=5) AS Enacted
FROM `bills_mybill` 
INNER JOIN `auth_user` ON (`bills_mybill`.`user_id` = `auth_user`.`id`) 
LEFT OUTER JOIN `bills_bill` ON (`bills_mybill`.`bill_id` = `bills_bill`.`id`) 
LEFT OUTER JOIN `bills_userprofile` ON (`auth_user`.`id` = `bills_userprofile`.`user_id`) 
LEFT OUTER JOIN `bills_organization` ON (`bills_userprofile`.`organization_id` = `bills_organization`.`id`) 
WHERE `bills_mybill`.`favorite` = TRUE  
GROUP BY `bills_organization`.`name`
于 2013-11-14T06:42:51.637 に答える