2014-02-13 145 views
0

我想两个查询结果MySQL查询:我想2个查询结果合并WRT主键

select refno,sum(rate*quantity-recieved) from ledger; 

总帐表

+--------+---------------------------------------+ 
| refno | sum(quantity*rate-recieved)   | 
+--------+---------------------------------------+ 
| 1/13 | -190         | 
| 10/13 | 3710         | 
| 100/13 | 625         | 
| 101/13 | 30         | 
| 102/13 | 0          | 
+--------+---------------------------------------+ 


select deposit from customer; 

客户

+--------+---------+ 
| refno | deposit | 
+--------+---------+ 
| 1/13 |  -10 | 
| 10/13 |  500 | 
| 100/13 |  0 | 
| 101/13 |  250 | 
| 102/13 | 1000 | 
+--------+---------+ 

将被组合用于该输出;总=(customer.deposit-(ledger.rate * ledger.quantity-ledger.received))

refno | total 
1/13 | -200 
10/13 | 4210 
100/13| 625 
101/13| 280 
102/13| 1000 
+2

你真的有一个表,其中列名是'sum(quantity * rate-received)'? –

+1

@GordonLinoff:当你在MySQL中调用函数并且不给它别名时会发生这种情况。 –

+1

umm ...你是不是错过了第一个查询中的'group by'子句? – Mureinik

回答

0
select ledger.refno, (sum(ledger.rate*ledger.quantity-recieved) - customer.deposit) AS total from ledger 
INNER JOIN customer 
ON customer.refno = ledger.refno 

我认为这应该工作...

+0

谢谢您的回答它workeed ~~ – Naqi