Могу ли я использовать Distinct с Union All в MySQL?

Я получаю значения из разных таблиц, используя UNION ALL,
Мой код, как показано ниже.

SELECT DISTINCT datei, amount FROM
(
SELECT datei, amount, 1 AS identification FROM income
UNION ALL
SELECT datee, amount, 2 AS identification FROM expense
UNION ALL
SELECT date, amount, 3 AS identification FROM others
) t
ORDER BY `datei` ASC

Но я хочу, чтобы это было distinct в назначенную дату.
Так как я могу это сделать?
Заранее спасибо.

0

Решение

Чтобы получить единую сумму на дату вы можете использовать следующий запрос

SELECT  datei,SUBSTRING_INDEX(GROUP_CONCAT(amount),',',1) amount
FROM (
SELECT datei,amount, 1 AS identification FROM income
UNION ALL
SELECT datee,amount, 2 AS identification FROM expense
UNION ALL
SELECT DATE,amount, 3 AS identification FROM others
) t
GROUP BY datei
ORDER BY `datei` ASC
1

Другие решения

SELECT datei, sum(amount)
FROM
(
SELECT datei, amount, 1 AS identification FROM income
UNION ALL
SELECT datee, amount, 2 AS identification FROM expense
UNION ALL
SELECT date, amount, 3 AS identification FROM others
) t
GROUP BY datei
ORDER BY datei ASC
0

По вопросам рекламы [email protected]