2012-02-18 49 views
0

我有两个表中获取数据..两个表,如何从这些表

客户票据 - 包含客户

从billRecievedFromClient法案Infor公司 - 包括我们从receievd量客户账单

mysql> select * from clientBills;

+ ------------ + ------------ + ------------ + ----- ------- +

|日期| clientCode | billNumber | billAmount |

+ ------------ + ------------ + ------------ + ------ ------ +

| 2012-02-17 | C0001 | B0001 | 1200.00 |

| 2012-02-17 | C0001 | B0002 | 1000.00 |

| 2012-02-17 | C0002 | B0003 | 1233.00 |

| 2012-02-18 | C0003 | B0004 | 12000.00 |

| 2012-02-18 | C0001 | B0005 | 400.00 |

+ ------------ + ------------ + ------------ + ------ ------ +

mysql> select * from billRecievedFromClient;

+ ------------ + -------------- + --------------- + -------- + --------- +

|日期| receivedCode | forBillNumber |数额|备注|

+ ------------ + -------------- + --------------- + - ------- + --------- +

| 2012-02-18 | R0001 | B0001 | 200.00 |现金|

| 2012-02-18 | R0002 | B0001 | 300.00 |现金|

| 2012-02-18 | R0003 | B0002 | 300.00 |现金|

| 2012-02-18 | R0004 | B0003 | 233.00 |现金|

| 2012-02-18 | R0005 | B0001 | 700.00 |现金|

+ ------------ + -------------- + --------------- + - ------- + --------- +

现在我想要这样的信息---即客户端C0001,有3票据。并且他完全支付了一张账单,部分支付了一张账单,并支付了一张账单完成金额。

+ ------------ + ---------- - + ------------------------------------ +

| billNumber | billAmount | SUM(billRecievedFromClient。数额)|

+ ------------ + ------------ + ------------------- ----------------- +

| B0001 | 1200.00 | 1200.00 |

| B0002 | 1000.00 | 300.00 |

| B0005 | 400.00 | 00.00 |

+ ------------ + ------------ + ------------------- ----------------- +

记得,因为他没有启动第三缴费,也不会是,在第二个表中的任何条目..

能有什么是这个查询?

请建议..

非常感谢!

+0

有人格式问题请... – 2012-02-18 10:04:24

回答

0

使用LEFT JOIN

SELECT *, SUM(t2.amount) FROM clientBills t1 LEFT JOIN billRecievedFromClient t2 ON t1.billNumber = t2.forBillNumber

反正不会有记录的非启动账单。 但是,如果你想为非开始的帐单空值记录你可以添加在查询结束:GROUP BY t1.billNumber

+0

它只提取一行..和总和是所有行... ... + ------------ + ------------ + ---------------- + | billNumber | billAmount | SUM(t2.amount)| + ------------ + ------------ + ---------------- + | B0001 | 1200.00 | 1733.00 | + ------------ + ------------ + ---------------- + – 2012-02-18 09:54:58

+0

啊,我明白了尝试在查询'GROUP BY t1.clientCode,t1.billNumber'的末尾添加如果它不能在某处使用模式和一些数据来粘贴SQL;) – 2012-02-18 10:08:23

+0

Thanks Dude !!完成! – 2012-02-18 10:17:08