最初にデータを正規化する場合は、任意の数のクエリを実行できます。
SELECT a.policyname,
a.ownerid
FROM (SELECT policyname,
ownerid
FROM policies
UNION ALL
SELECT policyname,
owner2id
FROM policies
UNION ALL
SELECT policyname,
owner3id
FROM policies
UNION ALL
SELECT policyname,
owner4id
FROM policies
UNION ALL
SELECT policyname,
owner5id
FROM policies
UNION ALL
SELECT policyname,
owner6id
FROM policies
UNION ALL
SELECT policyname,
owner7id
FROM policies) AS a;
たとえば、カウントは次のとおりです。
SELECT a.policyname,
Count(a.ownerid) AS CountOfOwnerID
FROM (SELECT policyname,
ownerid
FROM policies
UNION ALL
SELECT policyname,
owner2id
FROM policies
UNION ALL
SELECT policyname,
owner3id
FROM policies
UNION ALL
SELECT policyname,
owner4id
FROM policies
UNION ALL
SELECT policyname,
owner5id
FROM policies
UNION ALL
SELECT policyname,
owner6id
FROM policies
UNION ALL
SELECT policyname,
owner7id
FROM policies) AS a
WHERE (((a.OwnerID) Is Not Null))
GROUP BY a.PolicyName;
「フラット」クエリを保存し、保存したクエリを参照して、他のより複雑なクエリを作成することもできます。