Задать вопрос

Как правильно составить алгоритм?

Есть 3 таблицы, у всех одинаковые поля, первые две заполнены данными, третья - пустая.
В первой лежат данные, к примеру 0, 1, 2. Во второй - 0, 3, 4. Надо записать в третью таблицу результат сравнения первых двух: если в первой и второй таблице есть дубли (здесь дубли нули) - в третью это поле не добавлять, и если во второй таблице есть поля, которых нет в первой (3, 4) - их тоже в третью не добавлять.
Прошу расписать алгоритм действий, что за чем делать, без способов реализации, просто схематически, как бы вы эту задачу решали.
Спасибо.
  • Вопрос задан
  • 363 просмотра
Подписаться 1 Простой 9 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
Из множества строк первой таблицы вычитаем множество строк второй таблицы и результат записываем в третью таблицу. В MySQL это делается единственным SQL-запросом INSERT ... SELECT. Но так как в MySQL не реализована SQL-команда EXCEPT (разность множеств), то используется её эмуляция стандартным приёмом (описываемом в любом учебнике) через LEFT JOIN и IS NULL:

INSERT INTO table3
SELECT table1.*
FROM table1
LEFT JOIN table2
  ON table1.id = table2.id
WHERE table2.id IS NULL
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы