2

すべての「Y」と「N」を 1 つの列で数えようとしていますが、それらを別の列でグループ化しようとしています。WHERE で "Y" または "N" だけを取得できます。

SELECT TABLE2.GROUP_BY_THIS,COUNT(TABLE1.FLAG)
FROM TABLE1 INNER JOIN
TABLE2 On TABLE1.Primary_Key = TABLE2.Foreign_Key
WHERE TABLE1.FLAG_Required = "Y"
GROUP BY TABLE2.GROUP_BY_THIS

ここで最初の回答を使用して、データセット全体の「Y」と「N」を確認できますが、他の列によってグループ化されていませ:結果は次のようになります。

GROUP_BY_THIS  Y COUNT  N COUNT
-------------------------------
GROUP1         10       1
GROUP2         10       100
GROUP3         0        10
GROUP4         50       500
GROUP5         1000     0

どういうわけか、さらにグループ化する必要がありますか?

4

1 に答える 1

4
SELECT  TABLE2.GROUP_BY_THIS
,       COUNT(CASE WHEN TABLE1.FLAG = 'Y' THEN 1 END)
,       COUNT(CASE WHEN TABLE1.FLAG = 'N' THEN 1 END)
FROM    TABLE1 
JOIN    TABLE2 
ON      TABLE1.Primary_Key = TABLE2.Foreign_Key
GROUP BY 
        TABLE2.GROUP_BY_THIS
于 2013-05-09T11:48:04.923 に答える