2017-04-14 146 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)排序

相關問題