私は、ユーザーのための2つの外部キー(user_idとwinner_user_id)を持っているプロジェクトテーブルを持っています.1つはプロジェクトの所有者、もう1つはプロジェクトの勝者です。何かのようにSQL、テーブル内の複数の外部キーを使用してクエリを実行するにはどうすればよいですか?
+----------------+-------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------------------+------+-----+---------+----------------+
| project_id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| start_time | datetime | NO | | NULL | |
| end_time | datetime | NO | | NULL | |
| title | varchar(60) | NO | | NULL | |
| description | varchar(1000) | NO | | NULL | |
| user_id | int(11) | NO | | NULL | |
| winner_user_id | int(10) unsigned | YES | | NULL | |
| type | enum('fixed','auction') | YES | | NULL | |
| budget | decimal(10,0) | YES | | NULL | |
+----------------+-------------------------+------+-----+---------+----------------+
私は両方のユーザーについてのプロジェクトとデータに関する情報を得るために単一のクエリで試しています。
だから私は明らかに空のセットを返します
SELECT projects.project_id, projects.title, projects.start_time,
projects.description, projects.user_id, projects.winner_user_id,
users.username as owner, users.username as winner
FROM projects,users
WHERE projects.user_id=users.user_id
AND projects.winner_user_id=users.user_id
ようなクエリを策定しました。実際の問題は、これらの異なるuser_idをどのように参照するかです。私はASキーワードを使い、同じSQLクエリで作成した名前を使用しようとしましたが、明らかに動作しません。最後に、物事を明確にする
私はどのように私はこれを処理するクエリを作成することができます
+------------+-------------------------------------------------+---------------------+---------+----------------+--------------+--------------+
| project_id | title | start_time | user_id | winner_user_id | owner | winner |
+------------+-------------------------------------------------+---------------------+---------+----------------+--------------+--------------+
| 1 | CSS HTML Tableless expert for site redesign | 2009-09-01 21:07:26 | 1 | 3 | mr X | mr Y |
| 2 | High Quality Ecommerce 3-Page Design HTML & CSS | 2009-09-01 21:10:04 | 1 | 0 | mr X | mr Z |
のようなものをご希望ですか?
ありがとうございます。
おかげでたくさんあればNULLを返す必要があります!私は本当にINNER JOIN構文を使用していることはありませんが、FROMの直後にwinnerUserが指定されていないというのは面白いことです。 – zenna