mysql ando_mysql多表left join 1对多的解决办法

这个博客介绍了如何创建一个视图`edc_v_customer`,该视图聚合了`edc_customer`表和其他相关联表的数据,包括用户的个人信息、性别、婚姻状况、职业等。同时强调了添加索引对于大数据表的重要性,没有索引可能会导致查询速度变慢或无法响应。还提到了CSV文件默认不包含头部,但可以通过设置导出时包含列名。
摘要由CSDN通过智能技术生成

CREATE VIEW edc_v_customer AS SELECT A.`id`,

A.`email`,

A.`mobile`, A.`first_name`,A.`last_name`,

A.`manggis_id`,

A.`external_id`,

GROUP_CONCAT(ST.item_value) as site,

A.`nick_name`,

A.`chinese_name`,

S.`item_value` as sex,

A.`birthdate`,

A.`age`,

G.`item_value` as `age_group`,

I.`item_value` as income,

E.`item_value` as educate,

M.`item_value` as marial,

O.`item_value` as occupation,

C.`item_value` as country,

A.`update_time`,A.`status` FROM edc_customer AS A

LEFT JOIN edc_prop_country AS C ON A.`country_id`>0 and A.`country_id`=C.id

LEFT JOIN edc_customer_in_site AS CS ON (CS.customer_id=A.id)

LEFT JOIN edc_prop_site AS ST ON ST.id=CS.site_id

LEFT join `edc_prop_sex` AS S on A.`sex_id`>0 and S.id=A.`sex_id`

LEFT join `edc_prop_occupation` AS O on A.`occupation_id`>0 and O.id=A.`occupation_id`

LEFT join `edc_prop_marial` AS M on A.`marial_id`>0 and M.id=A.`marial_id`

LEFT join `edc_prop_income` AS I on A.`income_id`>0 and I.id=A.`income_id`

LEFT join `edc_prop_educate` AS E on A.`educate_id`>0 and E.id=A.`educate_id`

LEFT join `edc_prop_age_group` AS G on A.`age_group_id`>0 and G.id=A.`age_group_id`

GROUP BY A.id

;

另外,要记得加上index,如果没有index,表数据大的话会非常慢,甚至拒绝响应。

默认导出csv文件是没有header的,为了增加header,可以选择“Custom - display all possible options”,勾选“Put columns names in the first row”

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2016-12-13 09:52

浏览 3166

分类:数据库

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值