1

私は3つのテーブルを持っています

ログイン- user_id、ユーザー名

プロジェクト- project_id、project_name

タスク- task_id、project_id、task_giver、task_receiver、task_content

*ここで、task_giver と task_receiver にはログイン テーブルの user_id があります*

私の質問:

SELECT login.username, project.project_name, tasks.task_content, tasks.task_giver
  FROM tasks
  JOIN login ON login.user_id = tasks.task_receiver 
  JOIN project ON tasks.project_id = project.project_id
 ;

しかし、私はtask_giversIDだけを取得する名前を取得していません。
どうすれば彼の名前を取得できますか?

4

2 に答える 2

2

JOINそのloginようにもう一度テーブル:

SELECT 
  receivers.username 'Task receiver',
  givers.username 'Task giver', 
  p.project_name, 
  t.task_content
FROM tasks t
INNER JOIN login   receivers ON receivers.user_id = t.task_receiver 
INNER JOIN login   givers    ON givers.user_id    = t.task_giver
INNER JOIN project p         ON t.project_id      = p.project_id

いくつかのサンプルデータを含むSQLFiddleデモ

于 2012-11-21T11:32:02.503 に答える
0

テーブルに2回ログインする必要がありJOINます(task_receiverとtask_giverに)

于 2012-11-21T11:31:28.557 に答える