继承人的问题......
'用户' schema有2个表来存储数据:ABC_DAT
和ABC_SAT
。它们与列ABC_DAT_ID
相关联。
ABC_DAT
(source_up_id
和sink_up_id
)表也与USER.BID(up_id)表相关。
编写一个查询,返回ABC_DAT
表中的所有数据,以及source_up_id和sink_up_id的IP_NAME
。
我想我需要一个外部联接。我对SQL有些新意,所以我想把它弄清楚。也许我完全离开了,甚至不需要外连接。这是我到目前为止所拥有的:
select * from USER.ABC_DAT p
outer join USER.BID l
on p.IP_NAME=l.IP_NAME
但现在,我不知道该去哪里。就像我说的那样,可能还有一段距离。
答案 0 :(得分:0)
你可以使用"左外连接"对此。
select * from USER.ABC_DAT p
left outer join USER.BID l
on p.IP_NAME=l.IP_NAME
此查询包含ABC_DAT表作为左表。因此,它返回ABC_DAT表中的所有值以及表BID中的相应值。
答案 1 :(得分:0)
根据问题中的描述:
select
ad.*,
-- as.*,
usource.IP_NAME as user_source_ip_name,
usink.IP_NAME as user_sink_ip_name
from user.ABC_DAT ad
--inner join user.ABC_SAT as on (ad.abc_dat_id = as.abc_dat_id)
left join user.BID usource on (ad.source_up_id = usource.up_id)
left join user.BID usink on (ad.sink_up_id = usink.up_id)
order by ad.abc_dat_id;
请注意,ABC_SAT的加入已被注释掉 因为似乎不需要来自第二张表的信息。