如图:
这是我应那奇葩要求写的 sql,当然,是失败
SELECT
b.name AS remarkString,
b.name AS statusString
FROM
TableA a
INNER JOIN
TableB b
ON
(b.code = 1 AND a.remark = b.value)
OR
(b.code = 2 AND a.status = b.value)
这个是可以,但不符合要求,查询次数 n 多
SELECT
(SELECT name FROM TableB b WHERE b.code = 1 AND a.remark = b.value) AS remarkString,
(SELECT name FROM TableB b WHERE b.code = 2 AND a.status = b.value) AS statusString
FROM
TableA a
SELECT
a.name AS remarkString,
b.name AS statusString
FROM (select name,value from A,B where A.code = 1 and B.remark=A.value) a,(select name,value from A,B where A.code = 2 and B.status
=A.value) b where a.value=b.value;
不知道你是不是想达到这种效果。
都没描述清楚,你tableB中又没有code 段,怎么一一对应。。
SELECT
a.name AS remarkString,
aa.name AS statusString
FROM
TableB b
left join TableA a on a.value=b.remark and a.code=1
left join TableA aa on aa.value=b.status and aa.code=2
请采纳,谢谢