1

これがシナリオです: 4 つのテーブルがあります - CF {ID, NAME} - CLASS {ID, CLASSCODE, CF_ID} - OWNER {ID, AREACODE, CF_ID} - REGION {ID, AREACODE, REGIONCODE}

CF_ID は、CF.ID を指す外部キーです。

3 つの列を取得するためにデータベースにクエリを実行したいと思います: - REGIONCODE - CLASSCODE - FREQUENCY (CF.ID の出現回数)、GROUP BY REGIONCODE、および CLASSCODE

注意が必要なのは、クエリによって返されるデータセットには、特定の REGIONCODE で特定の CLASSCODE が見つからない場合に備えて、頻度が 0 の行を含める必要があることです。基本的には、FREQUENCY が​​ゼロであっても、CLASSCODE (DISTINCT) ごとに REGIONCODE (DISTINCT) のデカルト積をすべての出現を列挙したいと考えています。

これは私が書いたクエリです:

SELECT 
REGION.REGIONCODE, CLASS.CLASSCODE, COUNT(CF.ID) AS Frequency 
FROM REGION 
JOIN OWNER ON REGION.AREACODE = OWNER.AREACODE
JOIN CF ON OWNER.CF_ID = CF.ID 
JOIN CLASS ON CLASS.CF_ID = CF.ID
GROUP BY CLASS.CLASSCODE, REGION.REGIONCODE
ORDER BY REGION.REGIONCODE, CLASS.CLASSCODE
4

1 に答える 1