鍍金池/ 問答/iOS  數(shù)據(jù)庫/ 多表聯(lián)查搜索如何實現(xiàn)?

多表聯(lián)查搜索如何實現(xiàn)?

表結構如下圖:

圖片描述

????????現(xiàn)在需要根據(jù)用戶的輸入內(nèi)容,來從不同的表中查詢內(nèi)容,如何才可以快速有效的查出我想要的結果?

????????我的想法是將三個表關聯(lián)起來,通過case...when來根據(jù)flag的值來判斷該從哪個表中拿數(shù)據(jù),最終組成一個臨時表,然后再從臨時表中,根據(jù)用戶輸入的內(nèi)容來篩選數(shù)據(jù)。

????????請問是否還有其他更有效的思路可供參考?

回答
編輯回答
失魂人

表1和表A和表B各關聯(lián)一次,結果做union,代碼大概如下:

select ta.*
from t1 join ta on t1.id_a = ta.id
where t1.flag = 'a'
union all
select tb.*
from t1 join tb on t1.id_b = tb.id
where t1.flag = 'b'
2018年5月1日 21:41