イベントの種類に応じて、1つのマスターイベントテーブルを他の3つのマスターイベントテーブルに条件付きで結合しようとしています。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は、計算結果に参加できないことを示しました。その場合、私のアプローチは無効になります。では、このようなことを行うための正しいアプローチは何ですか?