mysql - 如果存在则从另一个表中选择数据,如果不存在则显示null

标签 mysql sql

我有两张 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/

相关文章:

php - 对列的值使用分组依据和条件

php - MySQL 查询中的 IF 和 AND

php - 将文件从 Android 应用程序上传到所需的文件夹

mysql - 如果条目不存在则插入到 SQL 中

mysql - Django 与 MySQL : Invalid utf8 character string: '800363' how to fix it?

php - 随机化 MYSQL 数据库中的 x 到 y 行

c# - sql 数据库错误 "Must declare the scalar variable"

sql - "Distinct"导致复杂查询

sql - 经常性事件考勤数据库设计

php - 如何在codeigniter中连接2个表