У меня есть таблица app_to_tables, которая сопоставляет приложения и имена таблиц, имена таблиц около 20, поэтому я не могу жестко их кодировать в запросе.Здесь для простоты я поместил только 2 имени таблицы (table_1, table_2).Структура таблицы следующая:
+--------+------------+
| app_id | table_name |
+--------+------------+
| 1 | table_1 |
| 1 | table_2 |
| 2 | table_1 |
| 2 | table_2 |
+--------+------------+
с другой стороны, у меня есть еще одна таблица, которая называется table_1, table_2, table_3.Схемы для этих таблиц одинаковы, а их содержимое следующее:
table_1
+------------+--------+--------+
| date | app_id | signal |
+------------+--------+--------+
| 2018-01-01 | 1 | sg |
| 2018-01-01 | 1 | sg |
| 2018-01-01 | 2 | sg |
| 2018-01-01 | 2 | sg |
| 2018-01-02 | 1 | sg |
| 2018-01-02 | 1 | sg |
+------------+--------+--------+
table_2
+------------+--------+--------+
| date | app_id | signal |
+------------+--------+--------+
| 2018-01-01 | 1 | sg |
| 2018-01-01 | 2 | sg |
| 2018-01-01 | 2 | sg |
| 2018-01-01 | 2 | sg |
| 2018-01-02 | 1 | sg |
| 2018-01-02 | 2 | sg |
+------------+--------+--------+
Я пытаюсь получить результат запроса sql, который будет следующим: Количество сигналов на каждый date
накаждый table_name
за каждый app_id
, как показано ниже:
+--------+------------+------------+-------+
| app_id | table_name | date | count |
+--------+------------+------------+-------+
| 1 | table_1 | 2018-01-01 | 2 |
| 1 | table_1 | 2018-01-02 | 2 |
| 1 | table_2 | 2018-01-01 | 1 |
| 1 | table_2 | 2018-01-02 | 1 |
| 2 | table_1 | 2018-01-01 | 2 |
| 2 | table_2 | 2018-01-01 | 3 |
| 2 | table_2 | 2018-01-02 | 1 |
+--------+------------+------------+-------+
Моя главная проблема в том, как я могу выбрать имена таблиц и затем динамически (без жесткого кодирования имен таблиц в запросе) использовать эту таблицуимена для подсчета количества сигналов.