我很难为此构建正确的SQL语句。
示例数据(简单视图):
MasterTable
Product DebitCode CreditCode
Camera 1 4
Computer 2 5
Cellphone 3 6
LookupTable
Code Description
1 Debit Camera
2 Debit Computer
3 Debit Cellphone
4 Credit Camera
5 Credit Computer
6 Credit Cellphone
使用Lookup表(或CreditCode)中的Code为DebitCode创建内部连接没有问题,但是当我尝试使用两者时,我会为每个获得两个条目。
我需要检索我的数据,以便借记代码和信用代码的描述都在一行中。
感谢。
答案 0 :(得分:3)
你需要两个单独的连接到你的LookupTable,每个代码一个。
select mt.Product,
lt1.Description as DebitDescription,
lt2.Description as CreditDescription
from MasterTable mt
inner join LookupTable lt1
on mt.DebitCode = lt1.Code
inner join LookupTable lt2
on mt.CreditCode = lt2.Code