這是常見到的需求.
我們先建立測試Table
預算表:
CREATE TABLE iron1003a(
task TINYINT UNSIGNED NOT NULL PRIMARY KEY,
cate CHAR(10) NOT NULL,
estc SMALLINT UNSIGNED NOT NULL
);
task代表專案代號,cate代表科目,estc代表預算.
INSERT INTO iron1003a(task, cate, estc) VALUES
(1, '硬體費用', 124),
(2, '硬體費用', 67),
(3, '硬體費用', 27),
(4, '軟體費用', 83),
(5, '軟體費用', 99);
--- 分隔線 ---
實際交易紀錄表
CREATE TABLE iron1003b(
voucher TINYINT UNSIGNED NOT NULL PRIMARY KEY,
task TINYINT UNSIGNED NOT NULL,
actc SMALLINT UNSIGNED NOT NULL
);
voucher代表憑證,task代表專案代號,actc代表實耗
INSERT INTO iron1003b(voucher, task, actc) VALUES
(1,1,60),
(2,1,40),
(3,1,35),
(4,2,32),
(5,4,18),
(6,5,23),
(7,5,44);
注意:task #3 目前尚未有交易喔.
我們想要得到以下的結果:
+--------------+--------+--------+
| 科目 | 預算 | 實耗 |
+--------------+--------+--------+
| 硬體費用 | 218 | 167 |
| 軟體費用 | 182 | 85 |
+--------------+--------+--------+
試試看你是否能夠解答出來呢?