我正在尝试两次连接同一个表,但它给了我一些问题。我有两个表ee_all
和ee_calendar_events
,我想加入。mysql离开连接同一个表两次
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,如果我拿出第二个加入的它。但是,一旦我添加它,查询将永远存在,并且vacation_hours_earned
的值为2000或其他值(这是错误的)。我的猜测是,当我添加第二个连接时,它再次总结了这一行,但我不想那么做。我一直在尝试几个小时,但无法找到解决办法,希望有任何帮助。
请提供样品数据和所需的输出。 – RedFilter 2012-04-23 15:22:04
为什么你需要第二次连接呢? – 2012-04-23 15:34:04
@JerminBazazian我需要第二次连接,因为我需要匹配第二次连接的添加列。 – 2012-04-23 15:37:32