2015-10-20 73 views
-4

我有兩個表格,我想用WHERE client=1234ORDER BY date ASC來顯示它的內容。從兩個表中獲取結果

docs_data_invoices i

id, date, client, invoice, amount 

docs_data_payments p

id, date, client, currency, amount 

的結果必須是這樣的:

i.date, i.invoice, i.amount, p.date, p.client, p.currency, p.amount 

那就是我已經試過:

SELECT i.date, i.invoice, i.amount, p.date, p.client, p.currency, p.amount FROM docs_data_invoices i JOIN docs_data_payments p ON i.client=p.client WHERE i.client=1234 ORDER BY i.date ASC 

但它返回奇怪的結果:

enter image description here

主要思路是看所有發票和付款,按日期排序。

+0

[加入](https://en.wikipedia.org/wiki/Join_%28SQL%29)。 –

+0

是的,我試着用'JOIN',但是我做不到......它給了我奇怪的結果(兩個表的值相同)。 – thexer

+3

然後顯示您嘗試使用的查詢。我們不是在這裏爲你寫代碼 - 我們只是試圖修復你嘗試過的東西。 –

回答

0

由於您沒有捕獲必要的數據,因此無法在此處獲得您想要的結果。客戶應該根據發票進行付款(所以​​付款表應該有發票編號的外鍵,而不是發票編號)。

現在,您可以確定客戶有發票並且客戶製作了付款,但沒有任何理由加入這兩張表。

+0

是的,也許這就是爲什麼它不起作用。無論如何,我會在兩個查詢中完成它,然後我將混合結果。主要想法是查看按日期排序的所有發票和付款。 – thexer

相關問題