繁体   English   中英

将两个SELECT语句合并为一个结果

[英]Combining two SELECT statements into one result

我的数据库中有两个表。 在其中一个中,我有邮箱,在另一个中,我存储了别名。 要创建仪表板,我想获取一些统计数据。

SELECT count(*) as postbox, sum(size) as size FROM users where email like '%@rootix.de'

而另一个查询将是:

select count(*) as aliases from aliases where alias like '%@rootix.de'

结果,我希望有一排带有邮箱,大小和别名的行。 所以我必须结合两个SELECT语句。

就像是

select count(*) as aliases from aliases where alias like '%@rootix.de'

不适用于我,我得到了“使用的SELECT语句具有不同的列数”作为错误。

我抬起头,但只发现行号为INNER JOIN的伪解决方案。 这是解决这个问题的唯一方法吗?

一种选择(可能有点蛮力)是在一个选择中仅使用三个单独的子查询:

SELECT
    (SELECT COUNT(*) FROM users WHERE email LIKE '%@rootix.de') AS postbox,
    (SELECT SUM(size) FROM users WHERE email LIKE '%@rootix.de') AS size,
    (SELECT COUNT(*) AS FROM aliases WHERE alias LIKE '%@rootix.de') AS aliases;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM