0

DB のテーブルに関して、次の問題が発生しています。

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、そのユーザーの名前、つまり管理者を付けたいということです。

私はこれを行うためのさまざまな方法を試しましたが、今日まで役に立ちませんでした:

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 に答える