用于组合行的MS Access查询

时间:2012-05-15 12:04:09

标签: sql ms-access

我有一个查询,它以下列格式返回数据:

xxx yyy     count
-------------------------------
a   cat1    23
a   cat2    34
a   cat3    12
b   cat1    34
b   cat2    1
b   cat3    2
c   cat1    34
c   cat2    123
c   cat3    34
d   cat1    34
d   cat2    12
d   cat3    34

我需要修改我的查询,以便我需要将yyy列的两个值分类为单个并合并其计数

xxx yyy         count
-------------------------------
a   cat1        23
a   cat2 & cat3 36
b   cat1        34
b   cat2 & cat3 3
c   cat1        34
c   cat2 & cat3 157
d   cat1        34
d   cat2 & cat3 36

如果您有任何想法,请提出建议!

1 个答案:

答案 0 :(得分:0)

假设你总是希望cat1爆发而且只有2只猫......

SELECT xxx, yyy, COUNT(*) AS count
FROM table
WHERE yyy = 'cat1'
GROUP BY xxx, yyy
UNION
SELECT xxx, 'cat2 & cat3' AS yyy, COUNT(*) AS count
FROM table
WHERE yyy <> 'cat1'
GROUP BY xxx

如果您有其他猫,而您只需要2和3,请将WHERE yyy <> 'cat1'更改为WHERE yyy IN ('cat2','cat3')