Я хочу удалить с помощью INNER JOIN
в SQL Server 2008 .
Но я получаю эту ошибку:
Сообщение 156, уровень 15, состояние 1, строка 15
Неверный синтаксис рядом с ключевым словом «ВНУТРЕННИЙ».
Мой код:
DELETE FROM WorkRecord2
INNER JOIN Employee ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'
sql
sql-server
sql-server-2008
inner-join
sql-delete
nettoon493
источник
источник
DELETE
с объединениемОтветы:
Вам нужно указать, из какой таблицы вы удаляете, вот версия с псевдонимом:
источник
Просто добавьте имя таблицы между
DELETE
иFROM
где вы хотите удалить записи, потому что мы должны указать таблицу для удаления. Также удалитеORDER BY
предложение, потому что при удалении записей не нужно ничего заказывать.Итак, ваш последний запрос должен быть таким:
источник
DELETE Employee
удалит из таблицы Сотрудника вместоWorkRecord2
таблицы.Возможно, это будет полезно для вас -
Или попробуйте это -
источник
Попробуй это:
источник
Должен быть:
источник
Эта версия должна работать
источник
В SQL Server Management Studio я могу легко создать
SELECT
запрос.Я могу выполнить это, и все мои контакты показаны.
Теперь изменить
SELECT
кDELETE
:Все записи, которые вы видели в
SELECT
заявлении, будут удалены.Вы можете даже создать более сложное внутреннее соединение с помощью той же процедуры, например:
источник
источник
Попробуйте этот запрос:
источник
Еще один способ использования
CTE
.Примечание: мы не можем использовать
JOIN
внутри,CTE
когда вы хотитеdelete
.источник
Это простой запрос для удаления записей из двух таблиц одновременно.
источник
Попробуйте это, это может помочь
источник
Вот моя версия SQL Server
источник
Вы не указываете таблицы для
Company
иDate
, возможно, вы захотите это исправить.Стандартный SQL с использованием
MERGE
:Ответ @Devart также является стандартным SQL, хотя и неполным, должен выглядеть примерно так:
Важная вещь, о которой следует упомянуть в связи с вышесказанным, это то, что очевидно, что удаление нацелено на одну таблицу, что реализуется во втором примере, когда требуется скалярный подзапрос.
Для меня различные проприетарные синтаксические ответы труднее читать и понимать. Я думаю, что образ мыслей лучше всего описан в ответе @frans eilering, т.е. человек, пишущий код, не обязательно заботится о человеке, который будет читать и поддерживать код.
источник
Вот что я сейчас использую для удаления или даже обновления:
источник