同じテーブルに2度も参加しようとしていますが、いくつか問題があります。私は参加したいテーブルee_all
とee_calendar_events
を持っています。mysqlが同じテーブルを2回続けて残しました
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
列が私は2番目を取る参加する場合はそれがない133を返すことになっています。しかしすぐに私がそれを追加すると、クエリは永遠になり、vacation_hours_earned
の値は2000か何か(間違っています)です。私の推測では、2回目の参加を追加すると行が再び集計されますが、私はそれを心配しません。私は数時間試してきましたが、その周りに道を見つけることができない、どんな助けにも感謝します。
サンプルデータと出力をご提供ください。 – RedFilter
なぜ2回目の参加が必要ですか? –
@JerminBazazian 2番目の結合のために追加の列と一致する必要がある行があるため、2番目の結合が必要です。 –