Re: [SQL ] 不知道有沒有這種寫法...
※ 引述《LPH66 (IWH68S0XZ8M89)》之銘言:
: ※ 引述《sui623 (超尷尬...)》之銘言:
: : 請問這個要怎麼改才會文法正確..還是有什麼變通的辦法..
: : SELECT A1.`id`,A1.`name`,A2.`chinese_name` ,A1.`jobs_type` ,A2.`email` ,
: : A1.`cellphone` FROM `address_book` A1,`phd_student` A2 `( OR
: : `ncu_ms_student` A2 OR `ncu_phd_student` A2 OR `ms_student` A2 ) WHERE
: : A1.`id`=A2.`num`
: SELECT ... FROM `adderss_book` A1,
: (
: SELECT * FROM `phd_student`
: UNION ALL
: SELECT * FROM `ncu_ms_student`
: UNION ALL
: SELECT * FROM `ncu_phd_student`
: UNION ALL
: SELECT * FROM `ms_student`
: ) A2
: WHERE ...
: 我猜你是要A2在這四個表中去找
: 所以用個子查詢把四個表一次抓回來 令為A2
建議四個分開 join 再做 union all
現在把所有東西都拿出來才 join, 一來
subquery 的 result 很大, 二來 subquery 該
用不到 index
所以這樣做應該會比較好:
select ... from address_book a1, phd_student
where balbalbal
union all
select ... from address_book a1, ncu_ms_student
where balbalblaba
union all
........
Alien
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):