我有四张桌子。即crm_entry(id, prefix, firstname, lastname)、crm_phone(id, crm_id, extension,value)、sale_order(id, crm_id)和purchase_order(id, crm_id)
我想要这样的桌子。
=‘sales 1’>前缀__(_\
为了获得这样的数据,我尝试了内部连接和左连接。但当销售额超过一个时..。联系人no将作为销售(计数)次数在行中复制。购买数量相同。我使用的查询如下:
select
crm_entry.id,
crm_entry.prefix,
crm_entry.firstname,
crm_entry.lastname,
group_concate(concat(crm_phone.extension,'-',crm_phone.value)),
count(sale_order.id),
count(pur_order.id)
from crm_entry
inner join crm_phone on crm_entry.id = crm_phone.crm_id
inner join sale_order on crm_entry.id = sale_order.crm_id
inner join pur_order on crm_entry.id = pur_order.crm_id
group by crm_entry.id我想要联系号码只有一次(联系可以是多重的,但不重复)。我该怎么做?
发布于 2017-09-22 08:44:15
好的,我终于找到了解决这个问题的中间路线。
我为联系人号码、销售订单和采购订单以及crm_entry创建了视图,然后在存储过程中使用这些视图与内部联接。这里的查询是:
SELECT
view_crm_entry_phone.*,
view_crm_entry_sale.sales,
view_crm_entry_purchase.purchase
FROM
view_crm_entry_phone
INNER JOIN
view_crm_entry_sale ON view_crm_entry_sale.id = view_crm_entry_phone.id
INNER JOIN
view_crm_entry_purchase ON view_crm_entry_purchase.id = view_crm_entry_phone.idhttps://dba.stackexchange.com/questions/186201
复制相似问题