EEALL@ONCE
๐ GROUP BY ๋ณธ๋ฌธ
728x90
SELECT bill.bill_sn, bill.ban, bill.bill_item, bill.charge_money, SUM(IFNULL(pym.pym_amt, 0)),
SUM(IFNULL(sale.pym_amt, 0)),
(bill.charge_money - SUM(IFNULL(pym.pym_amt, 0)) - SUM(IFNULL(sale.pym_amt, 0) ) as left_money
FROM bill
LEFT JOIN payment AS pym ON
bill.bill_item = pym.pym_item
AND bill.ban = pym.ban
AND pym.code = 'PYM'
LEFT JOIN payment AS sale ON
bill.bill_item = sale.pym_item
AND bill.ban = sale.ban
AND sale.code = 'SALE'
GROUP BY bill.bill_sn, bill.ban, bill.bill_item, bill.charge_money;
ํด๋น ํญ๋ชฉ์ผ๋ก ๋ฌถ์ด์ฃผ๋ ๊ฒ
์ฌ๊ธฐ์ ์ค์ํ ์ ์ ! GROUP BY ํญ๋ชฉ์ผ๋ก ์ ์ง ์์ ํญ๋ชฉ์ ์ง๊ณ ํจ์์ ํจ๊ป๊ฐ ์๋๋ฉด ๋จ๋ ์ผ๋ก ์ธ ์ ์๋ค.
์๋ฅผ ๋ค์ด, bill_date ๊ฐ์ ๊ฒฝ์ฐ GROUP BY๋ก ๋ฌถ์ฌ์์ง ์๋ค. ๋ฐ๋ผ์ SELECT ๋ฌธ ๋ค์ ๋จ๋ ์ผ๋ก ์กฐํํ ์ ์๋ ์ปฌ๋ผ์ผ๋ก ์ธ ์ ์๋ค.
๐์๋์ ๊ธ์๋ ๋ ๋ํ ์ผํ๊ฒ ๊ณ ๋ คํด์ผํ ๊ฒ๋ค์ ์์ ํจ๊ณ ์ค๋ช ํ๊ณ ์๋ค.
728x90
'Data๐ > DB ์ดํด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ INTERVAL (0) | 2023.07.28 |
---|---|
๐ DAYOFWEEK (0) | 2023.07.28 |
๐ IFNULL (0) | 2023.07.28 |
๐ ์ธ๋ฑ์ค (0) | 2023.07.21 |
๐ํ ์ด๋ธ ์ ๋ฐ์ดํฐ ์ญ์ ํ๊ธฐ (0) | 2023.07.21 |