在下面的查詢中,我拉出了特定作業上的申請人列表。無論我GROUP BY如何,它或者給我的用戶都是同一個用戶,但是每個應用程序的數據都不相同,或者我爲每個用戶返回4行。GROUP BY導致不良結果
我剛開始進入關係數據庫設計,所以我假設我把它設置錯了。我將申請人和申請分開,現在我正在努力分組數據。除非我只需要一個子查詢,group_concat,或者只是使用GROUP BY不正確?
SELECT
applicants.*, applications.*, users.*
FROM applicants
INNER JOIN applications ON applicants.job_id = applications.job_id
INNER JOIN users ON applicants.user_id = users.user_id
WHERE
applicants.job_id = 56 AND applicants.process_level = 1
GROUP BY applications.app_id
表:申請人
+-----+--------+---------+--------+--------------------+---------------+
| id | job_id | user_id | app_id | applied_on | process_level |
+-----+--------+---------+--------+--------------------+---------------+
| 1 | 56 | 125 | 5 |2015-05-24 19:28:55 | 1 |
| 2 | 22 | 15 | 6 |2015-05-25 16:38:24 | 2 |
| 3 | 56 | 100 | 7 |2015-05-26 13:38:24 | 1 |
+-----+--------+---------+--------+--------------------+---------------+
表:應用
+---------+--------+---------+--------------+-------------+
| app_id | job_id | user_id | experience | location |
+---------+--------+---------+--------------+-------------+
| 5 | 56 | 125 | bibendum jus | suscipi |
| 6 | 22 | 15 | Morbi vitae | aliquet |
| 7 | 56 | 100 | Duis et ex a | convallis |
+---------+--------+---------+--------------+-------------+
表:用戶
+---------+-----------------+------------+-----------+
| user_id | user_email | first_name | last_name |
+---------+-----------------+------------+-----------+
| 15 | [email protected] | Joe | Shcomo |
| 100 | [email protected] | Sally | Smith |
| 125 | [email protected] | John | Doe |
+---------+-----------------+------------+-----------+
所需的結果:例如我想要job_id爲56的用戶125的單行,其中包含來自申請人,應用程序和用戶的所有數據。 (未表示當然所有數據):
+---------+------------+-----------+---------------+---------------------+
| user_id | first_name | location | process_level | applied_on |
+---------+------------+-----------+---------------+---------------------+
| 125 | John | suscipi | 1 | 2015-05-24 19:28:55 |
| 100 | Sally | convallis | 1 | 2015-05-26 13:38:24 |
+---------+------------+-----------+---------------+---------------------+
也許你根本不需要'group by'。 –
'applicants。*,applications。*,users。*'不適合'GROUP BY',既然你沒有要求任何聚合值,你不需要分組 –
我可能錯過了它,但是我不確定你是否真的說出你想要做的事情。 –