Help with sql query - account

I have 3 tables in sql server 2008

table A , table B , Table C

I need to count all 3 tables and see them in one query line, for example:

A  B   C
30 40 12

I tried this: select count(*) from A,select count(*) from B,select count(*) from C

but i got an error

Thanks in advance

+3
source share
4 answers
select
    (select count(*) from A) as A,
    (select count(*) from B) as B,
    (select count(*) from C) as C
+4
source
SELECT *
FROM 
(SELECT COUNT(*) AS A_Count
 FROM A) tmp,
(SELECT COUNT(*) AS B_Count
 FROM B) tmp2, 
(SELECT COUNT(*) AS C_Count
 FROM C) tmp3
+2
source
SELECT
    A = (SELECT COUNT(*) FROM A),
    B = (SELECT COUNT(*) FROM B),
    C = (SELECT COUNT(*) FROM C)
+1
source

Other solutions are a little cleaner, but ... here's another way. :)

SELECT SUM(CASE WHEN TableName = 'A' THEN RecordCount ELSE 0 END) AS A_Count,
SUM(CASE WHEN TableName = 'B' THEN RecordCount ELSE 0 END) AS B_Count,
SUM(CASE WHEN TableName = 'C' THEN RecordCount ELSE 0 END) AS C_Count
FROM
(
    SELECT 'A' AS TableName, COUNT(*) AS RecordCount FROM A
    UNION ALL
    SELECT 'B', COUNT(*) FROM B
    UNION ALL
    SELECT 'C', COUNT(*) FROM C
) q
0
source

Source: https://habr.com/ru/post/1773272/


All Articles