2011-08-10 7 views
0

以下の2つのテーブルがあります。
テーブルジョブには、added_byフィールドにユーザーIDが格納されます。
テーブルのユーザは、IDとともに保存されたユーザ名を持ちます。内部結合を使用して別のテーブルに格納されたIDで1つのテーブルからユーザー名を取得する方法

私は、added_byフィールドのidとusersフィールドのidを突き合わせてユーザー名を選択します。

ありがとうございました。

これは、ジョブテーブル

Field Type Null Key Default Extra 
id int(11) NO PRI NULL auto_increment 
title varchar(255) NO  NULL  
description text NO  NULL  
priority int(1) NO  1 
added_by int(11) NO  NULL  
added_on time NO  NULL  
completed int(3) NO  0 
date_completed timestamp NO  0000-00-00 00:00:00 

ですこれはそのような

id int(11) NO PRI NULL auto_increment 
username varchar(30) NO MUL NULL  
password varchar(32) NO  NULL  
email varchar(255) NO  NULL  
level int(1) NO  NULL  
+0

こんにちは、レジー。私はこれを試しました select * from users users.id = jobs.added_by;しかし、それは動作しませんでした。 : –

+0

'select *ユーザーからの内部ジョインジョブusers.id = jobs.added_by;'はうまくいくはずです: – reggie

答えて

2

select j.title, u.username from jobs j left join users u on u.id=j.added_by

1
SELECT T1.*, T2.username FROM jobs AS T1 INNER JOIN users AS T2 ON T1.added_by=t2.id 

何かがトリックを行う必要があり、ユーザーのフィールドです。

1

あなたは結果テーブルに欲しいものを指定する必要があります。以下は、jobsテーブルの 'added_by'フィールドに一致するIDを持つユーザー名だけを取得します。結果にはユーザー名のみが表示されます。

SELECT table_users.*,table_jobs.* FROM users AS table_users 
    INNER JOIN (SELECT added_by FROM jobs) AS table_jobs 
    ON table_users.id = table_jobs.added_by 
+0

こんにちは、私は両方のテーブルからすべての情報が欲しいですが、私はusersテーブルこれは、(idに基づいて)jobsテーブルのadded_byフィールドに一致します。 –

1
SELECT U.username 
FROM users U 
INNER JOIN jobs J on (J.added_by = U.id) 
関連する問題