首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示来自共享ids的两个表的结果?

如何显示来自共享ids的两个表的结果?
EN

Stack Overflow用户
提问于 2019-05-26 20:33:26
回答 1查看 22关注 0票数 0

我已经建立了一个MYSQL数据库多个表(帐户,附件,类别,电子邮件,邮箱,原件,设置,标签)。唯一关心的两个表是电子邮件和附件。如果电子邮件有附件,则电子邮件和附件共享一个id。因此,我希望显示按日期排序的两个表的所有结果。

但是,下面的代码只显示了附件表(大约1500个实例),而我想显示来自附件的1500个实例和电子邮件表中的所有60K实例。

代码语言:javascript
复制
SELECT
email.from_fld,
email.subj_fld,
email.date_fld,
email.mailto,
email.body_fld,
email.numAttach,
email.attachNames,
email.attachText,
attachments.filename_fld,
attachments.encode_fld,
attachments.attach_fld,
email.id,
attachments.id AS id_0
FROM
email
JOIN attachments
ON email.id = attachments.id
ORDER BY
email.date_fld ASC 

我希望按日期顺序显示两个表的所有内容。

附件表描述

代码语言:javascript
复制
id  int(11) NO  MUL     
type_fld    varchar(127)    NO          
filename_fld    varchar(127)    NO          
encode_fld  int(11) YES     0   
attach_fld  longblob    NO          

电子邮件表描述

代码语言:javascript
复制
id  int(11) NO  PRI     auto_increment
from_fld    varchar(255)    NO  MUL     
to_fld  mediumtext  NO          
subj_fld    mediumtext  NO          
date_fld    datetime    NO          
mailbox varchar(255)    NO          
mailto  varchar(127)    NO          
body_fld    longtext    NO          
numAttach   int(11) NO      0   
attachNames mediumtext  NO          
attachText  longtext    NO          
headings    mediumtext  NO          
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-26 20:38:58

你需要一个LEFT joinemailattachments,因为有没有附件的电子邮件。

您使用的INNER join只显示有附件的电子邮件。

因此,将行替换为:

代码语言:javascript
复制
JOIN attachments

使用

代码语言:javascript
复制
LEFT JOIN attachments
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56317149

复制
相关文章

相似问题

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