1
我有兩個表:程序和部門。MySQL有條件的「開」聲明
每個程序都屬於一個部門。扭曲的是,程序表有一個可選的字段叫做override_dept_id。當此字段不爲空時,它優先於department_id字段中的值。
我的查詢需要能夠檢查,如果override_dept_id字段爲空或不。這個結果決定了在部門表的連接中使用哪個鍵。我嘗試了幾種不同的方式,但我沒有正確地做某件事。
這裏就是我想要做:
SELECT p.id, p.program, p.full_name, d.department
FROM programs p
LEFT JOIN departments d
CASE
WHEN p.override_dept_id IS NOT NULL THEN (ON p.override_dept_id = d.id)
ELSE (ON p.department_id = d.id)
END
ORDER BY p.full_name ASC
前穿上case statement –
語法是['... table1 JOIN table2 ON condition ...'](https://dev.mysql.com/doc/refman/5.7/en/join.html)。 – axiac