刚学创建视图,老是自己多做几个实例,想提高一下,
遇到一个问题,我先大体解释一下怎么回事:
表1 shbooks 里面是书籍,
表2 shtype 里面是书籍的分类;
表1的cid 正好 等于 表2的id;
我先用表2.cid=表1.id创建了一个视图;
又想创建一个统计视图,但是这个统计视图是基于 shbooks 表的属性用 GROUP BY cid , COUNT(*) 创建的,
但是这个统计视图没有 书类目的名, 只有书类目的id?
请问怎么才能从 shtype 中把书类目名拿过来?
表1 shbooks:
id | name | cid | price | time |
---|---|---|---|---|
1 | 挪威的森林 | 1 | 86.85 | 2016-05-05 23:34:18 |
2 | 经济学解释 | 2 | 23.11 | 2016-05-05 23:34:18 |
3 | 麦田里的守望者 | 1 | 53.87 | 2016-05-05 23:34:18 |
4 | 伯罗奔尼撒战争 | 3 | 36.02 | 2016-05-05 23:34:18 |
5 | 老人与海 | 1 | 98.9 | 2016-05-05 23:34:18 |
6 | 海边的卡夫卡 | 1 | 57.21 | 2016-05-05 23:34:18 |
7 | 人类群星闪耀时 | 3 | 79.52 | 2016-05-05 23:34:18 |
8 | 动物农场 | 1 | 79.78 | 2016-05-05 23:34:18 |
表2 shtpye:
id | type |
---|---|
1 | 文学 |
2 | 经济 |
3 | 历史 |
4 | 侦探 |
用表2.cid=表1.id创建了一个视图;
创建成功的创建的视图:
主键 | 书名 | 类号 | 类目 | 价格 | 导入时间 |
---|---|---|---|---|---|
1 | 挪威的森林 | 1 | 文学 | 86.85 | 2016-05-05 23:34:18 |
3 | 麦田里的守望者 | 1 | 文学 | 53.87 | 2016-05-05 23:34:18 |
5 | 老人与海 | 1 | 文学 | 98.9 | 2016-05-05 23:34:18 |
6 | 海边的卡夫卡 | 1 | 文学 | 57.21 | 2016-05-05 23:34:18 |
8 | 动物农场 | 1 | 文学 | 79.78 | 2016-05-05 23:34:18 |
10 | 追忆似水年华 | 1 | 文学 | 82.27 | 2016-05-05 23:34:18 |
12 | 舞舞舞 | 1 | 文学 | 73.35 | 2016-05-05 23:34:18 |
2 | 经济学解释 | 2 | 经济 | 23.11 | 2016-05-05 23:34:18 |
13 | 小麦经济学 | 2 | 经济 | 15.19 | 2016-05-05 23:34:18 |
14 | 统计数字会说谎 | 2 | 经济 | 39.3 | 2016-05-05 23:34:18 |
4 | 伯罗奔尼撒战争 | 3 | 历史 | 36.02 | 2016-05-05 23:34:18 |
现在这个视图只有类目id,没有类目名,我想在这个视图集上加上类目名,就是可以显示shbooks中cid在 shtype 中的 type,请问怎么弄?
分类编号 | 分类书籍总数 |
---|---|
1 | 7 |
2 | 3 |
3 | 13 |
4 | 17 |
5 | 2 |
6 | 2 |
创建语句如下:
CREATE OR REPLACE VIEW vcount AS SELECT
cid AS 分类编号,COUNT(*) AS 分类书籍总数
FROM
shbooks
GROUP BY
cid;
雷雷