設置:MySQL查詢相關問題:
mysql> create table bank(bank_id integer, bank_name varchar(255));
Query OK, 0 rows affected (0.27 sec)
mysql> create table accounts_bank(method tinyint, bank_id integer, amount float);
Query OK, 0 rows affected (0.09 sec)
mysql> insert into bank(bank_id, bank_name) values(1, 'A Bank');
Query OK, 1 row affected (0.05 sec)
mysql> insert into bank(bank_id, bank_name) values(2, 'B Bank');
Query OK, 1 row affected (0.03 sec)
mysql> insert into bank(bank_id, bank_name) values(3, 'C Bank');
Query OK, 1 row affected (0.03 sec)
mysql> insert into bank(bank_id, bank_name) values(4, 'D Bank');
Query OK, 1 row affected (0.03 sec)
mysql> inseert into accounts_bank(method, bank_id, amount) values (0, 1, 2500);
Query OK, 1 row affected (0.03 sec)
mysql> inseert into accounts_bank(method, bank_id, amount) values (1, 2, 2500);
Query OK, 1 row affected (0.03 sec)
mysql> inseert into accounts_bank(method, bank_id, amount) values (1, 3, 5000);
Query OK, 1 row affected (0.03 sec)
mysql> inseert into accounts_bank(method, bank_id, amount) values (0, 4, 500);
Query OK, 1 row affected (0.05 sec)
mysql> inseert into accounts_bank(method, bank_id, amount) values (0, 4, 5800);
Query OK, 1 row affected (0.03 sec)
mysql> inseert into accounts_bank(method, bank_id, amount) values (1, 3, 25000);
Query OK, 1 row affected (0.02 sec)
mysql> inseert into accounts_bank(method, bank_id, amount) values (0, 2, 27500);
Query OK, 1 row affected (0.03 sec)
mysql> inseert into accounts_bank(method, bank_id, amount) values (0, 1, 2000);
Query OK, 1 row affected (0.03 sec)
mysql> inseert into accounts_bank(method, bank_id, amount) values (0, 1, 2500);
Query OK, 1 row affected (0.03 sec)
mysql> inseert into accounts_bank(method, bank_id, amount) values (1, 2, 2500);
Query OK, 1 row affected (0.03 sec)
mysql> inseert into accounts_bank(method, bank_id, amount) values (0, 4, 2500);
Query OK, 1 row affected (0.03 sec)
我的第一個查詢:
mysql> select bank_name, sum(amount) as amount from accounts_bank ab left join bank b on b.bank_id=ab.bank_id where method=0 group by bank_name order by bank_name;
回報:
+-----------+--------+
| bank_name | amount |
+-----------+--------+
| A Bank | 7000 |
| B Bank | 27500 |
| D Bank | 8800 |
+-----------+--------+
3 rows in set (0.00 sec)
我的第二個查詢:
mysql> select bank_name, sum(amount) as amount from accounts_bank ab left join bank b on b.bank_id=ab.bank_id where method=1 group by bank_name order by bank_name;
個回報:
+-----------+--------+
| bank_name | amount |
+-----------+--------+
| B Bank | 5000 |
| C Bank | 30000 |
+-----------+--------+
2 rows in set (0.00 sec)
現在我想這樣的結果通過簡單地從第一個扣除2日的結果:
+-----------+--------+
| bank_name | amount |
+-----------+--------+
| A Bank | 7000 |
| B Bank | 22500 |
| C Bank | -30000 |
| D Bank | 8800 |
+-----------+--------+
爲了得到這樣的結果,我應該跑什麼MySQL查詢?
絕對正確。非常感謝您的幫助。 – Tareq 2009-10-04 07:07:15