В MySQL у меня есть три таблицы:
A:
-----------------
|g_id | txt |
|------|--------|
| 1 | cat |
| 3 | dog |
и
B:
--------------------------
|g_id | txt | txt2 |
|------|---------|--------
| 1 | hat | chat |
| 3 | that | NULL |
| 3 | that | NULL |
и
C:
------------------
|g_id | txt |
|------|---------|
| 1 | hat |
| 1 | mat |
| 3 | that |
Моя цель - суммировать столбец txt каждогостроки в таблицах A, B и C, сгруппированные по g_id ...
Итак, после моего запроса ожидаемый результат будет:
----------------
|g_id | size |
|------|-------|
| 1 | 16 |
| 3 | 15 |
Мой запрос не выполнен:
SELECT
g_id,
SUM(length(txt)) + SUM(length(txt2) as size
FROM ((SELECT a.g_id, a.txt FROM a) UNION ALL
(SELECT b.g_id, b.txt, b.txt2 FROM b) UNION ALL
(SELECT c.g_id, c.txt FROM c)
) abc
GROUP BY g_id;
Ошибка: используемые операторы SELECT имеют разное количество столбцов