Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Kontox Member Откуда: Сообщений: 146 |
в моем запросеSELECT [Dt] ,[CustomerName] ,[ItemRelation] ,[ProductName] ,[SaleCount] ,[DocumentNum] ,[DocumentDate] ,[IsPromo] ,[CustomerType] ,[CalendarYear] FROM [Action].[dbo].[promo_data] есть группирующие колонки ,[ItemRelation] ,[DocumentNum] ,[CalendarYear] некоторые группы должны быть удалены Я вот что делаю
ошибка Сообщение 102, уровень 15, состояние 1, строка 62 Неправильный синтаксис около конструкции "T". Как правильно удалить группы из таблицы? |
|
7 сен 18, 14:27 [21668206] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Kontox, или алиас убрать или DELETE T FROM [Action].[dbo].[promo_data] T |
7 сен 18, 14:29 [21668211] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
DELETE FROM T FROM [Action].[dbo].[promo_data] T |
||
7 сен 18, 15:02 [21668253] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
ИлиDELETE T FROM [Action].[dbo].[promo_data] T JOIN @LIST_ABOVE L ON T.[ItemRelation]=L.[ItemRelation] AND T.[DocumentNum]=L.[DocumentNum] AND T.[CalendarYear]=L.[CalendarYear]; |
7 сен 18, 15:06 [21668259] Ответить | Цитировать Сообщить модератору |
Kontox Member Откуда: Сообщений: 146 |
хм, я решил сделать бекапную таблицу и на ней опробыватьDELETE T FROM [Action].[dbo].testtable T WHERE EXISTS (SELECT 1 FROM @LIST_ABOVE WHERE [ItemRelation]=[ItemRelation] AND [DocumentNum]=[DocumentNum] AND [CalendarYear]=[CalendarYear]) у меня поудалились не только строки, где есть эти группы. одна группа может иметь, ну 40 строк, а все 400 000 наблюдений. Как же мне удалить строки именно группы указанные, по идеи должно удалиться около 40*52=2080 строк |
7 сен 18, 15:21 [21668276] Ответить | Цитировать Сообщить модератору |
PaulYoung Member Откуда: Москва Сообщений: 2565 |
|
||
7 сен 18, 15:34 [21668294] Ответить | Цитировать Сообщить модератору |
StarikNavy Member Откуда: Москва Сообщений: 2396 |
Kontox, вы вначале сделайте запрос SELECT который вытаскивает интересующие вас строки. а потом его поменяйте на DELETE |
7 сен 18, 15:35 [21668295] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
Kontox, ВСЕГДА пишите алиасы таблиц у полей. Это же так просто. |
7 сен 18, 15:44 [21668310] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |