SQL Создать представление для подсчета общего количества заказов - PullRequest
0 голосов
/ 26 мая 2020

Помогите создать представление для задачи:

«Создайте представление, содержащее информацию об общем количестве заказов для каждой книги. Представление должно содержать две колонки:« название книги »и« количество заказов » . "

Название книги -« название », настольная книга - книга и приказы - заказ

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');

1 Ответ

0 голосов
/ 26 мая 2020

Вы можете попробовать такой запрос:

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

SELECT * FROM info_books;
...