代码:
select count(*) AS "NR_COMEDIES" from COMEDY
select count(*) AS "NR_DRAMAS" from DRAMA
select count(*) AS "NR_TRAGEDIES" from TRAGEDY
我正在尝试将所有 3 个表的计数函数打印为一张大表。
其中每个表都有自己的列,如上面命名。如何将所有 3 张 table 放在一张大 table 上?
我尝试使用 union 但不起作用。
最佳答案
也许CROSS JOIN
应该适合你
SELECT A.NR_COMEDIES,
B.NR_DRAMAS,
C.NR_TRAGEDIES
FROM (SELECT Count(*) AS "NR_COMEDIES"
FROM COMEDY) A
CROSS JOIN (SELECT Count(*) AS "NR_DRAMAS"
FROM DRAMA)B
CROSS JOIN (SELECT Count(*) AS "NR_TRAGEDIES"
FROM TRAGEDY) C
或在所有查询之间执行笛卡尔积
SELECT A.NR_COMEDIES,
B.NR_DRAMAS,
C.NR_TRAGEDIES
FROM (SELECT Count(*) AS "NR_COMEDIES"
FROM COMEDY) A,
(SELECT Count(*) AS "NR_DRAMAS"
FROM DRAMA)B,
(SELECT Count(*) AS "NR_TRAGEDIES"
FROM TRAGEDY) C
关于关于一次打印3个表的SQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29041421/