[请帮助创建任务视图:
“创建一个包含有关每本书的订单总数信息的视图。该视图必须包含两列:“书名”和“订单数”。“
[书名是“名称”,表格书-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');
您可以尝试以下查询:
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;