次の2つのテーブルがあります。
lab_assistant
la_id - la_firstname - la_lastname
1 - Dennis - Rodman
2 - Michael - Jordan
3 - Horace - Grant
hours_worked
hw_semester - hw_date - hw_hours - la_id
Fall 2012 - 2012-11-01 - 4 - 2
Fall 2012 - 2012-11-04 - 5 - 3
Spring 2012 - 2012-02-12 - 4 - 1
Spring 2012 -2012-03-10 - 4 - 1
私のクエリの結果は次のようになります。
そして、次のクエリを実行して、ラボアシスタントと学期ごとに働いた時間数をリストしようとしています
SELECT DISTINCT(CONCAT(la.la_firstname, ' ', la.la_lastname)) AS 'Lab Assistant',
hw.hw_semester AS 'Semester Worked', hw.hw_hours AS 'Hours Worked'
FROM lab_assistant la
JOIN hours_worked hw
ON la.la_id = hw.la_id;
私のクエリの結果は、次のようになることが想定されています。
Michael Jordan - Fall 2012 - 4
Horace Grant - Spring 2012 - 5
Dennis Rodman - Fall 2012 - 8
しかし、私が得ている結果は次のとおりです。
Michael Jordan - Fall 2012 - 4
Horace Grant - Fall 2012 - 5
Dennis Rodman - Spring 2012 - 4
基本的に、デニス・ロッドマンの適切な時間を数えていません。4 ではなく 8 にする必要があります。
同じ人が別の学期で働く可能性があるため、ここでは DISTINCT を使用しないでください。