我有两张 table 。
发票
ID | Amount
-----------
1 | 123.54
2 | 553.46
3 | 431.34
4 | 321.31
5 | 983.12
贷项凭证
ID | invoice_ID | Amount
------------------------
1 | 3 | 25.50
2 | 95 | 65.69
3 | 51 | 42.50
我想从这两个表中获得这样的结果集
ID | Amount | Cr_memo
---------------------
1 | 123.54 |
2 | 553.46 |
3 | 431.34 | 25.50
4 | 321.31 |
5 | 983.12 |
整个早上我都在搞连接之类的事情,但没有真正的运气。
这是我尝试的最后一个查询,它从贷项凭证表中提取所有内容...
SELECT A.ID, A.Amount FROM Invoices AS A
LEFT JOIN Credit_Memos AS B ON A.ID = B.invoice_ID
感谢任何帮助或指示。
最佳答案
您的查询可以正常工作。只需添加带有别名的 Credit_memo.Amount
即可:
SELECT Inv.ID,Inv.Amount,IFNULL(C.Amount,'') AS Cr_memo
FROM Invoices Inv LEFT JOIN
Credit_Memos C ON Inv.ID=C.invoice_ID
结果:
ID AMOUNT CR_MEMO
1 124
2 553
3 431 25.50
4 321
5 983
查看结果 SQL FIDDLE .
关于mysql - 如果存在则从另一个表中选择数据,如果不存在则显示null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27080038/