Есть 3 таблицы, у всех одинаковые поля, первые две заполнены данными, третья - пустая.
В первой лежат данные, к примеру 0, 1, 2. Во второй - 0, 3, 4. Надо записать в третью таблицу результат сравнения первых двух: если в первой и второй таблице есть дубли (здесь дубли нули) - в третью это поле не добавлять, и если во второй таблице есть поля, которых нет в первой (3, 4) - их тоже в третью не добавлять.
Прошу расписать алгоритм действий, что за чем делать, без способов реализации, просто схематически, как бы вы эту задачу решали.
Спасибо.
ваш преподаватель предполагает, что вы включите ваши мозги и постараетесь решить эту задачу самостоятельно, а не пойдете за готовым решением на тостер
а как вы работать потом собираетесь, если с таким справиться не можете?
Читать учись, мне нужен алгоритм действий, а не готовое решение, так сказать идея.
Почему ты решила, что эту задачу мне поставил преподаватель? Если я ее абстрагировал - это не значит, что она не прикладная.
Весь алгоритм запроса у вас тут расписан. Дальше можно написать лишь готовый запрос прям по тексту - исключить дубли (при условии что строки таблиц можно соотнести) и исключить всё содержимое 2-ой таблицы. В чём вопрос заключается, с чем возникла проблема?
Дмитрий Шицков, проблема в организации, - брать первую запись первой таблицы и сравнивать со всеми со второй и так по итерации, либо есть более прямой способ, т.к данных больше 10к, опасаюсь за производительность вышеописанного предположения.
Дмитрий Шицков, т.е задачу можно решить без использования яп, только запросом? Спасибо, буду читать в этом направлении.
Если вам необходимо - напишите в ответы, отмечу решением.
Максим Осадчий, потому что разработчики решают такие задачи сами
построение алгоритма - это и есть решение задачи, если вы вдруг не знали
хамить совершенно необязательно, ни знаний ни профессионализму это вам не добавит
ой всё, вы сделали предположение, что я ленивый и не хочу сам решать задачи, поставленные учителем, а я сделал предположение, что вы взяли цель нагрубить этим.
Был бы у меня учитель - шел бы я на тостер?
Я понимаю, что правильное построение алгоритмов - часть профессиональной деятельности разработчика, но что делать, если книга вон какая большая, а решить задачу надо сейчас?
Из множества строк первой таблицы вычитаем множество строк второй таблицы и результат записываем в третью таблицу. В 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