我的数据库中有两个表。在其中一个中,我有邮箱,在另一个中,我存储了别名。要创建仪表板,我想获取一些统计数据。
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的伪解。这是解决这个问题的唯一方法吗?
答案 0 :(得分:0)
一种选择,也许有点蛮力,那就是在一个选择中仅使用三个单独的子查询:
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;