0

我有以下与我的数据库中的表有关的问题。

我有以下包含以下列的用户表 ( 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.

我想做的不是changed_by_value在 SQL 查询结果中使用数字,而是希望拥有该用户的名称,即 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
4

1 回答 1

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
于 2013-10-16T19:07:17.163 回答