连接表以检索 DB2 中的数据
Join tables to retrieve data in DB2
这些是我的 table 详细信息:
Table1
id name
----------------
101 syed
102 shaik
Table2
l_id sup_id
-----------------
101 102
id name sup_id sup_name
------------------------------
101 syed 102 shaik
在 table-1 中,我有两行,101 和 102,这是主 table。 Table 2 由主管登录 ID 及其下属 ID 组成。 table1 和 table2 之间的公共列是 id & l_id。所以,我正在尝试按如下方式提取数据以获取详细信息。
我的查询如下
SELECT
r.id,
trim(r.name) as name, trim(a.sup_id) as sup_id,
trim(select name from schema.table1
where id in (a.sup_id)) as sup_name
FROM
schema.table1 r
JOIN
schema.table2 a ON a.l_id = r.id
WHERE
r.id IN (101)
我可以得到主管 ID,但不能得到主管姓名。
任何想法将不胜感激
person id - person name - supervisor id - supervisor name
你可以试试下面的-
select t1.id,t1.name, sup_id,t2.name as sup_name
from table2 t
join table1 t1 on t1.id=t.l_id
join table1 t2 on t2.id=t.sup_id
这些是我的 table 详细信息:
Table1
id name
----------------
101 syed
102 shaik
Table2
l_id sup_id
-----------------
101 102
id name sup_id sup_name
------------------------------
101 syed 102 shaik
在 table-1 中,我有两行,101 和 102,这是主 table。 Table 2 由主管登录 ID 及其下属 ID 组成。 table1 和 table2 之间的公共列是 id & l_id。所以,我正在尝试按如下方式提取数据以获取详细信息。
我的查询如下
SELECT
r.id,
trim(r.name) as name, trim(a.sup_id) as sup_id,
trim(select name from schema.table1
where id in (a.sup_id)) as sup_name
FROM
schema.table1 r
JOIN
schema.table2 a ON a.l_id = r.id
WHERE
r.id IN (101)
我可以得到主管 ID,但不能得到主管姓名。
任何想法将不胜感激
person id - person name - supervisor id - supervisor name
你可以试试下面的-
select t1.id,t1.name, sup_id,t2.name as sup_name
from table2 t
join table1 t1 on t1.id=t.l_id
join table1 t2 on t2.id=t.sup_id