我有一个sql:
SELECT COUNT(*) as "With Gold" FROM user_accounts_gold WHERE level = 6
UNION
SELECT COUNT(*) as "No Gold" FROM user_accounts_bronze WHERE level = 6
目前,这将输出:
| With Gold |
-------------
| 17734 |
| 2388 |
有没有一种方法可以这样输出:
| With Gold | No Gold |
----------------------
| 17734 | 2388 |
谢谢
5条答案
按热度按时间wd2eg0qa1#
9fkzdhlc2#
做一个
CROSS JOIN
取而代之的是:r6hnlfcb3#
SELECT COUNT(a.level) AS 'With Gold', COUNT(b.level) as 'No Gold' FROM user_accounts_gold a, user_accounts_bronze b
iecba09b4#
如前所述,应该只有一个表。所以为它创建一个视图。如果你想的话,就飞吧。然后数数:
具有持久视图(即。
CREATE VIEW ...
)这可以归结为:您也可以从其他查询中的视图中获益。
w80xi6nr5#
你可以用另一种方法
select
子查询Oracle
也可以通过条件聚合函数来实现