Выбор из двух таблиц по дате и имени - MySQL
Формулировка задачи:
Коллеги, у меня есть две таблицы одинаковых по структуре (Группа 1 , Группа 2).
Например вида: Id , Date, Value, Name
В обоих таблицах может быть одинаковый Name.
Но всегда будут разные Date ( сотрудник работал в одной группе, на след. месяц ушел в другую группу)
Скажите как вывести "таблицу" в которой будет выборка по сотруднику, который был в Группа 1 или Группа 2 , отсортированную по Date?
Например:
Name: Date Value
Петров 2016-01-30 11 - эти данные из табл. Группа 1
Петров 2016-02-30 50 - эти данные из табл. Группа 1
Петров 2016-03-30 300 - эти данные из табл. Группа 2
Петров 2016-04-30 20 - эти данные из табл. Группа 2
Петров 2016-05-30 20 - эти данные из табл. Группа 1
Решение задачи: «Выбор из двух таблиц по дате и имени»
textual
Листинг программы
(SELECT * FROM group1 WHERE NAME = 'Петров') UNION (SELECT * FROM group2 WHERE NAME = 'Петров') ORDER BY DATE ASC
Объяснение кода листинга программы
В представленном коде происходит выборка данных из двух таблиц (group1 и group2) по имени (NAME) и сортировка полученных результатов по дате (DATE) в возрастающем порядке.
- SELECT * FROM group1 WHERE NAME = 'Петров'
- выбираются все поля (обозначены звездочкой) из таблицы group1
- фильтрация по условию NAME = 'Петров'
- результат: данные из таблицы group1, где имя равно 'Петров'
- UNION
- объединение результатов первого и второго запросов
- порядок следования запросов не важен
- SELECT * FROM group2 WHERE NAME = 'Петров'
- выбираются все поля (обозначены звездочкой) из таблицы group2
- фильтрация по условию NAME = 'Петров'
- результат: данные из таблицы group2, где имя равно 'Петров'
- ORDER BY DATE ASC
- сортировка полученных результатов по полю DATE в возрастающем порядке
- результат: отсортированные данные по дате
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д