SQL query for multiple tables with one SELECT statement using variables

I'm new to SQL, but given the example below, is there a way to condense a query? In my opinion, SQL does not have arrays, but is it possible to somehow save tables and make one SELECT statement, perhaps a variable (Select Count (*) from Table_Name) As Table_Name)?

SELECT
(SELECT COUNT(*) FROM ActivityLog) AS ActivityLog,
(SELECT COUNT(*) FROM ActivityLogin) AS ActivityLogin,
(SELECT COUNT(*) FROM ActivityPlayContent) AS ActivityPlayContent,
(SELECT COUNT(*) FROM ChangeLog) AS ChangeLog,
(SELECT COUNT(*) FROM ContentApprovalLog) AS ContentApprovalLog,
(SELECT COUNT(*) FROM ExceptionLog) AS ExceptionLog,
(SELECT COUNT(*) FROM State) AS State
+4
source share
1 answer

If you need this query often and want to simplify it, you can create a VIEW . Then you need to query the view as you query the table.

SELECT * FROM MyView

, , (, ).

CREATE VIEW MyView AS
SELECT
(SELECT COUNT(*) FROM ActivityLog) AS ActivityLog,
(SELECT COUNT(*) FROM ActivityLogin) AS ActivityLogin,
(SELECT COUNT(*) FROM ActivityPlayContent) AS ActivityPlayContent,
(SELECT COUNT(*) FROM ChangeLog) AS ChangeLog,
(SELECT COUNT(*) FROM ContentApprovalLog) AS ContentApprovalLog,
(SELECT COUNT(*) FROM ExceptionLog) AS ExceptionLog,
(SELECT COUNT(*) FROM State) AS State
+2

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


All Articles