@Microgen के उत्तर को पूरा कर रहा है... चूंकि आपके पास पहले से ही आपके दो पहले चयन काम कर रहे हैं जैसा आप चाहते हैं, आप उन परिणामों को अस्थायी तालिकाओं में रख सकते हैं:
create temporary table tmp1 as <your first select>;
alter table tmp1 add <some index to accelerate your join later>;
create temporary table tmp2 as <your second select>;
alter table tmp2 add <some index to accelerate your join later>;
फिर, आप अपना अंतिम परिणाम प्राप्त करने के लिए एक साधारण जुड़ाव लागू कर सकते हैं:
select tmp1.id, tmp1.name, tmp1.address, tmp2.occupation
from tmp1 inner join tmp2 using (id)
order by tmp1.id;
इसे करने का दूसरा तरीका है VIEW
. का उपयोग करना , लेकिन चूंकि अनुक्रमण उनके पास सबसे अच्छी चीज नहीं है, इसलिए मैं उनसे बचना चाहूंगा, खासकर जब आपके पहले दो select
उतने ही जटिल हैं।