2017-04-14 48 views
0

我需要一个查询来获取两个表中的数据并按日期对它们进行排序。如何获取两个表并按日期对数据进行排序?

表1:发票

<?php 
$query = mysql_query("select * from invoice where customer = 95"); 
?> 
ID  Customer  Amount  Date 
1  95   1500  01-Apr-2017 
2  95   5500  09-Apr-2017 
3  95   22000  10-Apr-2017 
4  95   35000  11-Apr-2017 

表2:付款

<?php 
$query = mysql_query("select * from Payments where customer = 95"); 
?> 
ID  Customer  Amount  Date 
1  95   10000  02-Apr-2017 
2  95   11000  09-Apr-2017 
3  95   22000  11-Apr-2017 
4  95   1200  15-Apr-2017 

我需要如下输出:

ID  Date   InvoiceDR  InvoiceCR 
1  01-Apr-2017 1500   - 
2  02-Apr-2017  -   10000 
3  09-Apr-2017 5500   - 
4  09-Apr-2017  -   11000    

回答

-1
$query = mysql_query("SELECT * FROM (
(SELECT invoice.id, NULL AS invoiceDR, invoice.InvoiceCR, invoice.Date FROM invoice) 
UNION ALL 
(SELECT NULL AS id, paymentd.InvoiceCR, NULL AS InvoiceDR, payments.Date FROM Payments) 
) results ORDER BY Date ASC"); 

在查询结束时按日期排列订单 并根据您的需要更改订单日期

+0

我需要取两个表发票和由日期付款顺序之间的数据 –

+0

哪个表格日期字段可用? –

+0

你能解释我发票DR和发票在表驯服 –

0

您可以使用“order by”来达到此目的。您可以通过升序和降序来设置顺序(ASC或DESC)。使用此查询。

select * from Invoice,Payments where '{condition}' order by Invoice.Date ASC , Payemnts.Date ASC 

该查询将首先根据第一表(发票)对数据进行排序,然后排序的数据将与第二个表(Payemnts)排序

相关问题