[英]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.