首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用唯一的数据连接多个表

用唯一的数据连接多个表
EN

Database Administration用户
提问于 2017-09-18 12:18:49
回答 1查看 2.6K关注 0票数 2

我有四张桌子。即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将作为销售(计数)次数在行中复制。购买数量相同。我使用的查询如下:

代码语言:javascript
复制
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

我想要联系号码只有一次(联系可以是多重的,但不重复)。我该怎么做?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2017-09-22 08:44:15

好的,我终于找到了解决这个问题的中间路线。

我为联系人号码、销售订单和采购订单以及crm_entry创建了视图,然后在存储过程中使用这些视图与内部联接。这里的查询是:

代码语言:javascript
复制
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.id
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/186201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档