1

こんにちは、INNER JOIN のカップルでクエリを実行しようとしています。どこが悪いのですか?

job_tbl.id、accounts.username AS starter、accounts.username AS worker、job_tbl.comment、job_tbl.date、job_tbl.status を選択

FROM job_tbl

INNER JOIN accounts ON job_tbl.starter = accounts.id

内部結合 accounts ON job_tbl.worker = accounts.id

ここのjob_tblテーブル:

+----+---------+--------+---------+------+--------+
| id | starter | worker | comment | date | status |
+----+---------+--------+---------+------+--------+
| 1  |    1    |    3   |   qwe   | date |   10   |
+----+---------+--------+---------+------+--------+
| 2  |    2    |    1   |   qwe   | date |   10   |
+----+---------+--------+---------+------+--------+

ここにアカウントテーブルがあります:

+----+------------+-----------+-------+
| id |  username  | extension | email |
+----+------------+-----------+-------+
| 1  |   Julia    |    100    | email |
+----+------------+-----------+-------+
| 2  |    Eve     |    101    | email |
+----+------------+-----------+-------+
| 3  |    Max     |    102    | email |
+----+------------+-----------+-------+

私はそれが欲しい:

+----+---------+--------+---------+------+--------+
| id | starter | worker | comment | date | status |
+----+---------+--------+---------+------+--------+
| 1  |  Julia  |   Max  |   qwe   | date |   10   |
+----+---------+--------+---------+------+--------+
| 2  |   Eve   |  Julia |   qwe   | date |   10   |
+----+---------+--------+---------+------+--------+
4

2 に答える 2

3

accountsスターターまたはワーカーとして使用するテーブル インスタンスを指定していません。これを試して:

SELECT job_tbl.id, job_tbl.description, Starter.username AS starter, Worker.username AS worker, job_tbl.comment, job_tbl.date, job_tbl.status
FROM job_tbl
INNER JOIN accounts AS Starter ON job_tbl.starter = Starter.id
INNER JOIN accounts AS Worker ON job_tbl.worker = Worker.id
于 2013-03-14T11:41:29.363 に答える
1

問題は、あいまいな状態を引き起こすALIASon テーブルを指定せずに 2 つのテーブルを結合していることです。accounts

SELECT  a.*,
        b.username StarterName,
        c.userName WorkerName
FROM    job_tbl a
        INNER JOIN account b
            ON a.starter = b.id
        INNER JOIN account c
            ON a.worker = c.ID

結合についてさらに詳しく知りたい場合は、以下のリンクにアクセスしてください。

于 2013-03-14T11:40:27.800 に答える