不同的專欄中,我有這個表連接兩個表,並顯示在MySQL
表 「分配」 - > NPWP,KPP,駕駛室,nip_ar,KLU - >有31.023的數據
和
表「masterfile」 - > npwp,kpp,cab,jenis,nama,kota - >有33.631個數據
我想加入這兩個表,所以我可以得到,npwp,kpp,cab,jenis,nama ,kota,nip_ar,klu
當我使用LEFT加入,它處理了很長時間。但是當我使用UNION ALL時,它不能像我想要的那樣工作。
這些我UNION ALL查詢:
SELECT NPWP,KPP,NULL作爲作者,駕駛室,nip_ar,KLU FROM分配GROUP BY NPWP,KPP,駕駛室UNION ALL SELECT NPWP,KPP,駕駛室,JENIS, nama,kota FROM masterfile GROUP BY npwp,kpp,cab;
我剛剛獲得列npwp,kpp,作者,cab,nip_ar,klu。但列詹尼斯,納瑪,科塔沒有顯示。
這些我LEFT JOIN查詢:
SELECT masterfile.npwp,masterfile.kpp,masterfile.cab,masterfile.name,masterfile.address,assign.nip_ar,assign.klu從主文件LEFT JOIN分配ON assign.npwp = masterfile.npwp AND assign.kpp = masterfile.kpp AND assign.cab = masterfile.cab;
我是新手上查詢,請幫我解決這個問題。 非常感謝。
看不出你的'OUTER JOIN'有什麼問題 - 你有連接列上的索引嗎?使用'UNION'與使用'JOINs'完全不同,取決於你想要的結果。 – sgeddes 2014-09-23 02:11:09
是的,你是正確的sgeddes,只需要添加索引,非常感謝你的意見 – DymasSedhayu 2014-09-23 03:07:20