настройка:
mysql> create table product_stock(
product_id integer, qty integer);
Query OK, 0 rows affected (0.17 sec)
mysql> create table product(
product_id integer, product_name varchar(255));
Query OK, 0 rows affected (0.11 sec)
mysql> insert into product(product_id, product_name)
values(1, 'Apsana White DX Pencil');
Query OK, 1 row affected (0.05 sec)
mysql> insert into product(product_id, product_name)
values(2, 'Diamond Glass Marking Pencil');
Query OK, 1 row affected (0.03 sec)
mysql> insert into product(product_id, product_name)
values(3, 'Apsana Black Pencil');
Query OK, 1 row affected (0.03 sec)
mysql> insert into product_stock(product_id, qty)
values(1, 100);
Query OK, 1 row affected (0.03 sec)
мой первый запрос:
mysql> SELECT IFNULL(SUM(s.qty),0) AS stock,
product_name
FROM product_stock s
INNER JOIN product p ON p.product_id=s.product_id
GROUP BY product_name
ORDER BY product_name;
возвращает:
+-------+---------------------------+
| stock | product_name |
+-------+---------------------------+
| 100 | Apsana White DX Pencil |
+-------+---------------------------+
1 row in set (0.00 sec)
Но я хочу получить следующий результат:
+-------+------------------------------+
| stock | product_name |
+-------+------------------------------+
| 0 | Apsana Black Pencil |
| 100 | Apsana White DX Pencil |
| 0 | Diamond Glass Marking Pencil |
+-------+------------------------------+
Чтобы получить этот результат, какой запрос mysql мне нужно выполнить?