我有一个表a,存储了created_by和updated_by,而它们两个都只存储了user_id,而我有一个表b,存储了user_id和user_name。我似乎无法使用两个不同的条件检索同一列。我有两个sql,但是如何将它们两者结合起来
SELECT b.user_name FROM a.created_by WHERE b.created_by = a.user_id
SELECT b.user_name FROM a.updated_by WHERE b.updated_by = a.user_id
答案 0 :(得分:0)
我不确定您的表结构,但在我看来您想做类似的事情
SELECT u.user_name createdBy, v.user_name changedBy
FROM tablea t
INNER JOIN tableb u ON u.user_id=t.created_by
INNER JOIN tableb v ON v.user_id=t.changed_by
答案 1 :(得分:0)
您可以加入表格:
select
cb.user_name as createdBy,
ub.user_name as updatedBy
from
a
left join b cb on a.created_by = cb.user_id
left join b ub on a.updated_by = ub.user_id
您可能想使用inner join
而不是left join
...不确定您的要求。
答案 2 :(得分:0)
我不太了解您的问题,但我想您想将两个查询混为一谈:
SELECT b.user_name
FROM a
join b on (a.user_id=b.created_by or a.user_id=b.updated_by)