Как сделать так, чтобы записи выводились построчно, а не множились на столбцы
При запросе :
SELECT * FROM ((SELECT DATE, amount, 'bank' AS 'type' FROM bank_transactions) AS bank, (SELECT DATE, amount, 'cash' AS 'type' FROM cashbox_transactions) AS cash)
появляются одинаковые столбики и значения повторяются по 3 раза, как этого избежать. Пробовала писать DISTINCT перед *, но не помогло избежать проблемы
Ответы (1 шт):
Автор решения: Superproger77
→ Ссылка
MySQL
-- Создать таблицы bank_transactions и cashbox_transactions
CREATE TABLE bank_transactions (
DATE DATETIME,
amount DECIMAL(10,1)
);
CREATE TABLE cashbox_transactions (
DATE DATETIME,
amount DECIMAL(10,1)
);
-- Добавить данные
INSERT INTO bank_transactions VALUES ('2017-02-14 12:12:02', 1400.5),
('2017-02-03 15:43:18', 3000.0),
('2017-02-01 11:35:17', 560.0);
INSERT INTO cashbox_transactions VALUES ('2017-02-04 10:12:09', 74.0),
('2017-02-10 22:12:04', 871.0),
('2017-02-16 09:00:30', 1000.0);
-- Выбрать данные
SELECT DATE, amount, 'bank' AS 'type' -- Выбрать столбцы DATE, amount и столбец заполненный текстовым значением 'bank' назвать type
FROM bank_transactions -- Из таблицы bank_transactions
UNION -- соединить с запросом
SELECT DATE, amount, 'cash' AS 'type' -- Выбрать столбцы DATE, amount и столбец заполненный текстовым значением 'cash' назвать type
FROM cashbox_transactions; -- Из таблицы cashbox_transactions