2

MySQL の 3 つのテーブルからデータを取得し、それらの列名を変更/マージしようとしています。現在、ASそれらを使用して列名を設定すると、重複して入ってきます。

人の表:

id    applicant_id    employee_id
---------------------------------
1     3               6          
2     4               10         
3     12              30            

申請者表:

id    applicant_id    applicant_note    applicant_note_date
-----------------------------------------------------------
1     3               "Was good"        2013-05-01
1     4               "Was so-so"       2013-06-07
2     4               "Was bad"         2013-06-08
3     4               "Was great"       2013-06-10

従業員表:

id    employee_id    employee_note    employee_note_date
--------------------------------------------------------
1     10              "Was ok"        2013-07-20
1     10              "Was great"     2013-07-21
2     30              "Was bad"       2013-08-01
3     30              "Was so-so"     2013-08-02

私が持っているのは だけですemployee_id。従業員と応募者の両方からすべてのメモを取得していることを確認したいのですが、NULL値を持つ列が重複するのではなく、それらを同じ列にマージしたいと考えています。以下のような結果を返したい:

note            date          type
------------------------------------------------
"Was so-so"     2013-06-07    applicant
"Was bad"       2013-06-08    applicant
"Was great"     2013-06-10    applicant
"Was ok"        2013-07-20    employee
"Was great"     2013-07-21    employee

私が今いる場所は次のとおりです。

SELECT
    applicants.applicant_note AS note,
    applicants.applicant_note_date AS date,
    employees.employee_note AS note,
    employees.employee_note_date AS date
    IF(applicants.applicant_id IS NULL, 'employee', 'applicant') as type
FROM
    employees
JOIN
    people
ON
    people.employee_id = employees.employee_id
JOIN
    applicants
ON
    applicants.applicant_id = people.applicant_id
WHERE
    employees.employee_id = 10    

SQL のみを使用してこれを達成する方法はありますか? または、従業員 ID で応募者 ID を取得するために、別のクエリを実行する必要がありますか?

4

2 に答える 2