-1
create table product_stock(product_id integer, qty integer, branch_id integer);
create table product(product_id integer, product_name varchar(255));
insert into product(product_id, product_name)
values(1, 'Apsana White DX Pencil');
insert into product(product_id, product_name)
values(2, 'Diamond Glass Marking Pencil');
insert into product(product_id, product_name)
values(3, 'Apsana Black Pencil');
insert into product_stock(product_id, qty, branch_id)
values(1, 100, 1);
insert into product_stock(product_id, qty, branch_id)
values(1, 50, 2);
insert into product_stock(product_id, qty, branch_id)
values(2, 80, 1);
내 쿼리 :
SELECT IFNULL(SUM(s.qty),0) AS stock,
product_name
FROM product_stock s
RIGHT JOIN product p ON s.product_id=p.product_id
WHERE branch_id=1
GROUP BY product_name
ORDER BY product_name;
반환 :
+-------+-------------------------------+
| stock | product_name |
+-------+-------------------------------+
| 100 | Apsana White DX Pencil |
| 80 | Diamond Glass Marking Pencil |
+-------+-------------------------------+
1 row in set (0.00 sec)
그러나 나는 다음과 같은 결과를 갖고 싶어 :
+-------+------------------------------+
| stock | product_name |
+-------+------------------------------+
| 0 | Apsana Black Pencil |
| 100 | Apsana White DX Pencil |
| 80 | Diamond Glass Marking Pencil |
+-------+------------------------------+
을
이 결과를 얻으려면 어떤 mysql 쿼리를 실행해야합니까?
는
왼쪽 결합을 사용해보세요 !! – halocursed
@ Tareq이 질문은 이전 질문과 매우 유사합니다. http://stackoverflow.com/questions/1530021/query-returns-too-few-rows –
친구와 비슷하지만 결과는 다릅니다. 이전 질문을 편집하면 답을 얻을 수 없습니다. 그래서, 다른 것을 추가해야합니다. 감사. – Tareq