首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL连接多个表

问MySQL连接多个表
EN

Stack Overflow用户
提问于 2012-07-06 03:06:13
回答 1查看 2.4K关注 0票数 4

我有三张表:

代码语言:javascript
复制
t1.estimate, t1.mid, t1.description, t1.status

t2.mid, t2.mname, t2.mphone, t2.memail

t3.estimate, t3.action

我需要连接这些表,但我遇到的问题是t2和t3可能不包含要连接到t1的记录。表t1是将应用筛选器的主表。当连接'mid‘时,表t2将有99.9%的时间包含匹配。但是表t3是一个只存储信息并在用户将信息输入到表中时创建估计值的表。在t1中可以有40,000多条记录,但在t3中只有5,000条。

这是我当前的代码,但它只显示所有三个表中的记录。我希望显示来自t1的值,即使在t2和t3上没有要加入的记录。

代码语言:javascript
复制
SELECT DISTINCT
    t1.estimate, t1.mid, t2.mname, t1.description,
    t1.status, GROUP_CONCAT(t3.action)
FROM t1
LEFT OUTER JOIN t2 ON t1.mid = t2.mid
LEFT OUTER JOIN t3 ON t1.estimate = t3.estimate
WHERE t1.status LIKE '0%'
GROUP BY t3.estimate
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-06 03:16:56

您需要将GROUP BY更改为使用t1.estimate而不是t3.estimate,因为如果没有连接任何记录,t3.estimate将为NULL。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11350904

复制
相关文章

相似问题

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