sql - 如何从 2 个 ID 存储在 sql 表 3 中的两个表中获取名称
问题描述
我想使用 ConcerenedId 在一列中获取名称。
在此表(分类帐)中,ConcerenedId 包含客户和供应商的 id,我想得到他们的名字。
这是表格(客户)
这是表格(供应商)
这是我所做的
select l.LedgerId,l.ConcernedId,l.Amount,v.Name,l.Type,c.Name from Ledgers l
left join Vendors v on l.ConcernedId=v.VendorId
left join Customers c on l.ConcernedId=c.CustomerId
这是它的输出
如果有人知道如何解决它,请提供帮助。谢谢
解决方案
如果您的数据库是 SQLServer,那么您将如何获得解决方案:
select l.LedgerId
, l.ConcernedId
, l.Amount
, ISNULL(v.Name, c.Name) Name
, l.Type
from Ledgers l
left join Vendors v on l.ConcernedId=v.VendorId
left join Customers c on l.ConcernedId=c.CustomerId
您可以使用 ISNULL 函数。
这是一个演示:
如果您在这里使用其他数据库,您可以检查要使用的功能:https ://www.w3schools.com/sql/sql_isnull.asp