首先是主表,第二个是查找表。 我需要将第一个表的列名与第二个表中的值进行比较,如果在第二个表的任何行中找到某个列名,则从第二个表中获取一些字段。
是否可以在黑斑羚中进行?
source |location |origin
----------+----------+-------
s1 |india |xxx
extractedfrom|lct |lkp_value|map_value
-------------+----------+---------+---------
s1 |location |india |india_x
s1 |origin |xxx |yyyyyy
我需要有类似的东西 final view required
source |location |origin |location_ll|origin_lkp
----------+----------+----------+-----------+----------
s1 |india |xxx |india_x |yyyyy
答案 0 :(得分:0)
您应该编辑帖子,以更具体地说明您要执行的操作以及您希望如何加入表格。
根据您提供的示例,以下查询应该适合您。
SELECT t1.source,
t1.location,
t1.origin,
t2_loc.map_value AS location_lkp,
t2_ori.map_value AS origin_lkp
FROM Table1 t1
JOIN Table2 t2_loc ON t1.source = t2_loc.extractedfrom
AND t1.location = t2_loc.lkp_value
JOIN Table2 t2_ori ON t1.source = t2_ori.extractedfrom
AND t1.origin = t2_ori.lkp_value
WHERE t2_loc.lct = 'location'
AND t2_ori.lct = 'origin'
诀窍在于您多次加入Table2
- 您想要匹配的每一列都有一个。