我在数据库中的表格中遇到以下问题。
我有以下用户表(usertable1
),其中包含以下列:
table_id row_id name changed_by_value department lastlogon lastlogoff
1000 1 Admin 1 main_department 10-16-2013 10-16-2013
1000 2 User2 1 main_department 10-16-2013 10-16-2013
1000 3 User3 1 main_department 10-16-2013 10-16-2013
1000 4 User4 1 main_department 10-16-2013 10-16-2013
1000 5 User5 1 main_department 10-16-2013 10-16-2013
changed_by_value
列是一个数字,并且在row_id
列中有一个关联的条目,例如
User2最后被管理员用户更改为changed_by_value = 1
。
我想做的不是在SQL查询结果中使用数字changed_by_value
,而是希望得到该用户的名称,即Admin。
我已尝试过各种方法,但到目前为止无济于事:
select a.table_id, a.row_id, a.name, a.department, a.lastlogon, a.lastlogoff,
(select b.name from usertable1 as b where a.changed_by_value = b.row_id)
from usertable1 as a
答案 0 :(得分:1)
我相信你只是在寻找自我加入,所以试试这个:
SELECT
a.table_id, a.row_id, a.name, a.department,
a.lastlogon, a.lastlogoff,
b.name AS 'Changed by'
FROM usertable1 AS a
INNER JOIN usertable1 AS b ON a.changed_by_value = b.row_id