Posts Tagged with left join

Displaying 1-3 of 3 results.
Wiki: Задача MySQL. Выбрать из таблицы те книги, у которых два и более автораwiki
posted by admin on August 24, 2016
Таблица авторов:

CREATE TABLE `tbl_author` (
`id` int(10) NOT NULL,
`name` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `tbl_author`
ADD PRIMARY KEY (`id`);


Таблица книг

CREATE TABLE `tbl_book` (
`id` int(10) NOT NULL,
`name` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `tbl_book`
ADD PRIMARY KEY (`id`);


Таблица связей межу таблицей книг и авторов

CREATE TABLE `tbl_book_author` (
`id` int(10) NOT NULL,
`book_id` int(10) NOT NULL,
`author_id` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `tbl_book_author`
ADD PRIMARY KEY (`id`),
ADD KEY `book_id` (`book_id`),
ADD KEY `author_id` (`author_id`);


Решение

SELECT book.id, book.name, COUNT(ba.author_id) AS cnt FROM `tbl_book_author` ba
LEFT JOIN tbl_book book
ON book.id = ba.book_id
GROUP BY ba.book_id
HAVING cnt > 1
Read more
Resolved: MySQL get most popular categories with posts counts (category and posts tables)
posted by admin on March 16, 2016
I have categories table btbl_category

CREATE TABLE btbl_category(
id int auto_increment primary key,
name varchar(20)
);

INSERT INTO btbl_category (name)
VALUES
('one'),('two'),('three'),('four');

INSERT INTO apps (app_category)
VALUES
(2),(4),(2),(1);


I have categories table btbl_post

CREATE TABLE btbl_post
(
id int auto_increment primary key,
category_id int,
);

INSERT INTO btbl_post (category_id)
VALUES
(2),(4),(2),(1);


I want to select most popular categories with countsRead more
Resolved: Three table MySQL relation task, city, product, sale max join query
posted by admin on March 11, 2016
We have three tables, city, product, sale

city
  • id PK AI INT(10)
  • name VARCHAR(50)


product
  • id PK AI INT(10)
  • name VARCHAR(50)


sale
  • id PK AI INT(10)
  • city_id INT(10)
  • product_id INT(10)
  • amount INT(10)
  • total_price INT(10)


Task, Задача

Написать SQL-запрос, который выведет результат вида: город, товар, количество проданного товара, итоговая сумма. Т.е. для каждого города и для каждого товара нужно вывести сколько было продано данного товара и на какую сумму. Если в каком-то городе какой-то товар не был продан вовсе — выводить нули в полях "количество" и "сумма".
Read more