Выбор из двух таблиц по дате и имени - 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) в возрастающем порядке.

  1. SELECT * FROM group1 WHERE NAME = 'Петров'
    • выбираются все поля (обозначены звездочкой) из таблицы group1
    • фильтрация по условию NAME = 'Петров'
    • результат: данные из таблицы group1, где имя равно 'Петров'
  2. UNION
    • объединение результатов первого и второго запросов
    • порядок следования запросов не важен
  3. SELECT * FROM group2 WHERE NAME = 'Петров'
    • выбираются все поля (обозначены звездочкой) из таблицы group2
    • фильтрация по условию NAME = 'Петров'
    • результат: данные из таблицы group2, где имя равно 'Петров'
  4. ORDER BY DATE ASC
    • сортировка полученных результатов по полю DATE в возрастающем порядке
    • результат: отсортированные данные по дате

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5