SQL 加入查找相关代码和地址
SQL join to find relavant codes and address
下面table包含地址信息。
代码
代码1
代码2
地址
DAN001
DAN004
DAN005
ABC,纽约。
DAN004
DAN004
DAN004
印度德里
DAN005
DAN005
DAN005
曾经,比利时
请在下面找到 table 详细信息:
每个代码都有关联的代码 1 和代码 2 以及最后一列的地址。
例如:
- DAN001 与 DAN004 和 DAN005 关联。
- DAN001 的地址是纽约 ABC。
- DAN004 的地址是印度德里。
- DAN005 的地址是 Ever,比利时。
我正在寻找单个 SQL 查询,它将为我提供关联的 code1 和 code2 以及给定代码的单个查询中每个代码的对应地址。
我进行了以下查询,但这没有正常工作:
select a.code, b.code1, b.address code1_address , c.code2, c.address code2_address
from address a,address b, address c where a.code='DAN001'
and a.code1= b.code and a.code2=c.code;
我用的是Oracle10g
异常结果:
DAN004、ABC 纽约、DAN005、EVER 比利时
您只是在寻找 join
吗?
select a.*, a1.address, a2.address
from address a left join
address a1
on a1.code = a.code1 left join
address a2
on a2.code = a.code2;
这使用 left join
以防任何代码列为空。
下面table包含地址信息。
代码 | 代码1 | 代码2 | 地址 |
---|---|---|---|
DAN001 | DAN004 | DAN005 | ABC,纽约。 |
DAN004 | DAN004 | DAN004 | 印度德里 |
DAN005 | DAN005 | DAN005 | 曾经,比利时 |
请在下面找到 table 详细信息:
每个代码都有关联的代码 1 和代码 2 以及最后一列的地址。 例如:
- DAN001 与 DAN004 和 DAN005 关联。
- DAN001 的地址是纽约 ABC。
- DAN004 的地址是印度德里。
- DAN005 的地址是 Ever,比利时。
我正在寻找单个 SQL 查询,它将为我提供关联的 code1 和 code2 以及给定代码的单个查询中每个代码的对应地址。
我进行了以下查询,但这没有正常工作:
select a.code, b.code1, b.address code1_address , c.code2, c.address code2_address
from address a,address b, address c where a.code='DAN001'
and a.code1= b.code and a.code2=c.code;
我用的是Oracle10g
异常结果:
DAN004、ABC 纽约、DAN005、EVER 比利时
您只是在寻找 join
吗?
select a.*, a1.address, a2.address
from address a left join
address a1
on a1.code = a.code1 left join
address a2
on a2.code = a.code2;
这使用 left join
以防任何代码列为空。