我正在尝试根据事件类型有条件地将一个主事件表连接到其他三个事件表。select 语句工作正常,并返回我期望的结果集,但是当我添加 JOIN 语句时,我收到一个错误,提示找不到列别名:
SELECT
event.type as type,
IF(type = 'birthday', event.target_id, NULL) as birthday_id,
IF(type = 'graduation', event.target_id, NULL) as graduation_id,
IF(type = 'wedding', event.target_id, NULL) as wedding_id
FROM event
LEFT OUTER JOIN birthday ON birthday_id = birthday.id
LEFT OUTER JOIN graduation ON graduation_id = graduation.id
LEFT OUTER JOIN wedding ON wedding_id = wedding.id
得到这个错误:
“on 子句”中的未知列“birthday_id”
更新:好的 Sebas 刚刚表示您不能加入计算结果,在这种情况下我的方法是关闭的。那么做这样的事情的正确方法是什么?