tabA
ID A B
1 e b
2 f d
tabB
ID name
1 A
2 B
select myColumn from tabA left join tabB on tabA .id=tabB.id
想得到
ID myColumn
1 e
2 d
myColumn 这列取 A表中的A列或者B列,通过B表中的name字段判断
------解决思路----------------------
--列值 无法直接关联 列名
SELECT T1.ID,T2.V
FROM tabB T1
JOIN (
SELECT ID,A AS V,'A' T FROM tabA
UNION ALL SELECT ID,B,'B' FROM tabA
) T2 ON T1.ID=T2.ID AND T1.NAME=T2.T
------解决思路----------------------
把if 改成case 试试