刚学创建视图,老是自己多做几个实例,想提高一下,
遇到一个问题,我先大体解释一下怎么回事:
表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;
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号