如果你第一次正常化你的數據,你可以運行任意數量的查詢:
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;
您還可以保存「平」查詢並參考保存的查詢來構建其他更復雜的查詢。