我有这张 table
表“分配” --> npwp,kpp,cab,nip_ar,klu --> 有 31.023 条数据
和
表“masterfile” --> npwp,kpp,cab,jenis,nama,kota --> 有 33.631 条数据
我想加入这两个表,这样我就可以获得,npwp,kpp,cab,jenis,nama,kota,nip_ar,klu
当我使用LEFT JOIN时,它处理了很长时间。但是当我使用 UNION ALL 时,它不能按我想要的方式工作。
这些是我的 UNION ALL 查询:
SELECT npwp,kpp,NULL as author,cab,nip_ar,klu FROM assign GROUP BY npwp,kpp,cab UNION ALL SELECT npwp,kpp,cab,jenis,nama,kota FROM masterfile GROUP BY npwp,kpp,cab;
我刚刚得到列 npwp,kpp,author,cab,nip_ar,klu。但 jenis、nama、kota 列未显示。
这些是我的 LEFT JOIN 查询:
SELECT masterfile.npwp,masterfile.kpp,masterfile.cab,masterfile.name,masterfile.address,assign.nip_ar,assign.klu FROM masterfile LEFT JOIN assign ON assign.npwp=masterfile.npwp AND assign.kpp=masterfile.kpp AND assign.cab=masterfile.cab;
我是查询新手,请帮我解决这个问题。 非常感谢。
最佳答案
谢谢大家,我在聚会聊天中得到了 friend 的答复,
我的连接查询很好,只需在两个表主文件的 NPWP、KPP、CAB 列中添加 INDEX 并分配,以便查询可以更快地处理。
SELECT masterfile.npwp,masterfile.kpp,masterfile.cab,masterfile.name,masterfile.address,assign.nip_ar,assign.klu FROM masterfile LEFT JOIN assign ON assign.npwp=masterfile.npwp AND assign.kpp=masterfile.kpp AND assign.cab=masterfile.cab;
关于mysql - 连接两个表并在mysql上显示不同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25985776/