17,377
社区成员
发帖
与我相关
我的任务
分享
tabA表,
此表字段:
code1,code2,code3
tabB表:
此表字段:
id,code,codeName
查询:
select
b1.codeName,
b2.codeName,
b3.codeName
from tabA a
left join tabB b1
on a.code1=b1.code
left join tabB b2
on a.code2=b2.code
left join tabB b3
on a.code3= b3.code
where 1=1
select
(case when a.code1=b1.code then b1.codename end),
(case when a.code2=b1.code then b1.codename end),
(case when a.code3=b1.code then b1.codename end)
from tabA a
left join tabB b1
on (a.code1=b1.code or a.code2=b1.code or a.code3= b1.code)
[/quote]
select max(case when a.code1=b.code then b.CODNAME end),
max(case when a.code2=b.code then b.CODNAME end),
max(case when a.code3=b.code then b.CODNAME end)
from a left join b on a.code1=b.code or a.code2=b.code or a.code3= b.code
group by a.rowid
--如果满足要求的话 楼主看看这个
SELECT code1, code2, code3, wm_concat(t2.name)
FROM t t1
LEFT JOIN tb t2
ON (t1.code1 = t2.code OR t1.code2 = t2.code OR t1.code3 = t2.code)
GROUP BY code1, code2, code3
select
(case when a.code1=b1.code then b1.codename end),
(case when a.code2=b1.code then b1.codename end),
(case when a.code3=b1.code then b1.codename end)
from tabA a
left join tabB b1
on (a.code1=b1.code or a.code2=b1.code or a.code3= b1.code)
select
(case when a.code1=b1.code then b1.codename end),
(case when a.code1=b1.code then b1.codename end),
(case when a.code1=b1.code then b1.codename end)
from tabA a
left join tabB b1
on (a.code1=b1.code or a.code2=b1.code or a.code3= b1.code)
SELECT MAX(DECODE(A.CONAME,'code1',B.codeName)),
MAX(DECODE(A.CONAME,'code2',B.codeName)),
MAX(DECODE(A.CONAME,'code3',B.codeName))
FROM
(select code1 as code,'code1' as colname,rowid as id from TABLEA
union all
select code2 as code,'code2' as colname,rowid as id from TABLEA
union all
select code3 as code,'code3' as colname,rowid as id from TABLEA) A,TABLEB B
WHERE A.CODE=B.CODE
GROUP BY A.ID