Использование инструкции INSERT into для нескольких таблиц с левым соединением?
Здравствуйте друзья,
Я новичок в SQL, и мне нужно изменить несколько вещей в нашей базе данных customer-repair-database.
Вот что у меня есть:
Существует таблица ремонта, и она имеет столбец состояния, где "1" означает, что ремонт не выполнен, а "2" означает, что ремонт выполнен.
Существует также таблица элементов со столбцом ITEMSTATUS, где "1" также означает сделано, а "2" означает не сделано.
К сожалению, были некоторые ошибки, допущенные emplyees, и теперь есть пункты в ПУНКТ стол с ITEMSTATUS " 1" даже жесткий ITEMSTATUS должно быть установлено значение "2" потому что ремонт принадлежности уже установлен на "2" (сделанный).
Что я уже пробовал:
Вот sql-запрос, который я написал, чтобы показать мне все элементы, где статус должен быть установлен на "2":
SELECT REPAIR.REPAIRID, REPAIR.STATUS, ITEM.REPAIRID, ITEM.ITEMID, ITEM.ITEMSTATUS FROM REPAIR LEFT JOIN ITEM ON REPAIR.REPAIRID = ITEM.REPAIRID WHERE REPAIR.STATUS = '2' AND ITEM.ITEMSTATUS = '1'
Этот sql-запрос показывает мне все элементы, где мне нужно установить ITEMSTATUS на "2". Поскольку там показано более 2000 элементов, я бы не хотел делать это вручную :).
Теперь я не знаю, как использовать оператор INSERT INTO с описанным запросом, и надеюсь, что кто-то сможет мне помочь.
Michael_Davies
Вы имеете в виду, что хотите обновить item.itemstatus, где repair.status=2?
Многое зависит от версии SQL, которую вы используете;
https://stackoverflow.com/questions/1293330/how-can-i-do-an-update-statement-with-join-in-sql
Vincent Warte
Спасибо, это полезно для будущего.