同じテーブルに 2 回参加しようとしていますが、問題が発生しています。2 つのテーブルがee_all
ありee_calendar_events
、参加したいと考えています。
SELECT
u.first_name,
u.last_name,
u.email,
SUM(e1.total_vacation_hours_earned) AS vacation_hours_earned,
SUM(e2.absent_hours)
FROM ee_all AS u
LEFT JOIN ee_calendar_events AS e1 ON u.user_id = e1.sched_user_id
LEFT JOIN ee_calendar_events AS e2 ON u.user_id = e2.sched_user_id AND e2.event_id = 2
WHERE
u.user_id = 23
vacation_hours_earned
列は 133 を返すはずですが、2 番目の結合を実行すると返されます。しかし、追加するとすぐに、クエリに時間がかかりvacation_hours_earned
、値が 2000 か何かになります (これは間違っています)。私の推測では、2 番目の結合を追加すると行が再び合計されますが、それは望ましくありません。数時間試してみましたが、それを回避する方法が見つかりません。助けていただければ幸いです。