SQL创建视图以计算订单总数

问题描述 投票:0回答:1

[请帮助创建任务视图:

“创建一个包含有关每本书的订单总数信息的视图。该视图必须包含两列:“书名”和“订单数”。“

[书名是“名称”,表格书-kniga和订单-zakaz

create view info_books as select kniga.name  from zakaz, kniga group by kniga.name;
select * from info_books;

但是我想我应该得到

name | count 
ee | 2 
ew | 1
few | 1

这是我的示例:https://www.db-fiddle.com/f/gtXitKPGLYwz5QQPr1LZDX/2

或在这里:

CREATE TABLE zakaz (
  `id_zakaz` INTEGER,
  `id_chit` INTEGER, 
  `data` INTEGER, 
  `id_knigi` INTEGER
);
CREATE TABLE kniga (
  `id_knigi` INTEGER,
  `author` CHAR(30), 
  `name` CHAR(30)
);


INSERT INTO zakaz
  (`id_zakaz`, `id_chit`, `data`, `id_knigi`)
VALUES
  ('1', '1', '123', '33'),
  ('5', '31', '414', '53'),
  ('7', '3', '523', '33'),
  ('4', '4', '52342', '54');

INSERT INTO kniga
  (`author`, `name`, `id_knigi`)
VALUES
  ('abc', 'ee', '33'),
  ('cfe', 'ew', '53'),
  ('feaq', 'fewda', '54');
mysql sql sql-view
1个回答
0
投票

您可以尝试以下查询:

CREATE VIEW info_books AS
SELECT K.name, COUNT(*) AS 'Count'
FROM zakaz AS Z INNER JOIN kniga AS K ON Z.id_knigi=K.id_knigi GROUP BY K.name;

SELECT * FROM info_books;
© www.soinside.com 2019 - 2024. All rights reserved.