不同的专栏中,我有这个表连接两个表,并显示在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