2015-05-23 57 views
-1

我有两个表,mysql查询一个情况?


OrderTable(订单ID,ordersum)


和OrderPayments(订单ID,paidamount)。


OrderTable


的OrderID ordersum


ORD123456 40,000.00


ORD789987 30,000.00


OrderPayments


的OrderID paidamount


ORD123456 10,000.00


ORD123456 20,000.00


ORD123456 10,000.00


ORD789987 28,000.00




有关订单,支付可以分期付款制成。


我必须得到输出


的OrderID ordersum paidamount


ORD123456 40,000.00 40,000.00


ORD789987 30,000.00 28,000.00


我已经完成了使用视图。

创建视图OP1作为 选择订单ID,和(paidamount),如通过从订单ID组orderpayments “pamount”;

然后我使用内部连接查询b/w可定制和视图(op1)。

我希望它在单个查询中完成,而不是使用视图/任何其他表。这可能吗?建议我?

回答

0

使用内部查询。 这是加入声明的示例

select * from OrderTable 
inner join (
    select 
     orderid, sum(paidamount) as "pamount" 
    from orderpayments 
    group by orderid 
) as tmp using (orderid) 
+0

感谢您的解决方案..它工作。但我不明白查询控制流程,你能详细解释我吗? –

+0

你到底明白了什么?查询的工作方式与使用视图完全相同,但使用嵌套查询查看 –

+0

您的查询很好,我得到了输出结果。我的问题是你没有使用的条件下,仍然工作。如何查询逐步执行..由想法是下一个,如果我得到要求,我应该像你一样写。 –