SELECT COALESCE(table2.value, table3.value) FROM table1
JOIN table2 ON (table1.value = table2.value)
JOIN table3 ON (table1.value = table3.value)
table1.value = table2.value
和table1.value = table3.value
是互斥的(它們中的至多一個爲真)。MySQL的JOIN如果任一2代表的滿足條件
只有在table1.value = table2.value
或table1.value = table3.value
爲真時,我如何才能使連接發生?
這是唯一的解決辦法? (這是相當繁瑣的)
SELECT table.value FROM table1
JOIN
(SELECT COALESCE(table2.value, table3.value) FROM table1
LEFT JOIN table2 ON (table1.value = table2.value)
LEFT JOIN table3 ON (table1.value = table3.value)
) as table ON (table1.value = table.value)