powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / удалить список групп из таблицы sql
8 сообщений из 8, страница 1 из 1
удалить список групп из таблицы sql
    #39699655
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в моем запросе
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT  [Dt]
      ,[CustomerName]
      ,[ItemRelation]
      ,[ProductName]
      ,[SaleCount]
      ,[DocumentNum]
      ,[DocumentDate]
      ,[IsPromo]
      ,[CustomerType]
      ,[CalendarYear]
  FROM [Action].[dbo].[promo_data]


есть группирующие колонки

Код: sql
1.
2.
3.
      ,[ItemRelation]
      ,[DocumentNum]
      ,[CalendarYear]



некоторые группы должны быть удалены

Я вот что делаю
Заголовок
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
declare @LIST_ABOVE table (ItemRelation nvarchar(10),DocumentNum nvarchar(10),CalendarYear int)
insert @LIST_ABOVE (ItemRelation,DocumentNum,CalendarYear)
values
(11511,5,2017),
(11628,2,2017),
(11661,163,2017),
(11692,82,2017),
(11709,143,2017),
(13189,33,2017),
(13284,2,2017),
(158009,12,2017),
(158121,63,2017),
(11514,60,2017),
(11628,3,2017),
(11671,13,2017),
(11706,8,2017),
(11741,163,2017),
(13191,7,2017),
(13284,3,2017),
(158010,12,2017),
(158122,41,2017),
(11592,33,2017),
(11628,140,2017),
(11683,70,2017),
(11706,50,2017),
(13163,70,2017),
(13191,33,2017),
(13322,4,2017),
(158010,89,2017),
(158122,62,2017),
(11594,9,2017),
(11633,75,2017),
(11683,140,2017),
(11706,51,2017),
(13163,75,2017),
(13250,83,2017),
(13322,36,2017),
(158010,95,2017),
(158122,63,2017),
(11623,71,2017),
(11634,154,2017),
(11683,154,2017),
(11706,58,2017),
(13163,131,2017),
(13269,50,2017),
(157186,57,2017),
(158121,41,2017),
(11626,29,2017),
(11661,143,2017),
(11683,163,2017),
(11709,81,2017),
(13189,13,2017),
(13269,66,2017),
(157192,56,2017),
(158121,62,2017)


DELETE  FROM [Action].[dbo].[promo_data] T
  WHERE EXISTS (SELECT 1 FROM LIST_ABOVE WHERE [ItemRelation]=T.[ItemRelation] AND [DocumentNum]=T.[DocumentNum] 
  AND [CalendarYear]=T.[CalendarYear])




ошибка
Сообщение 102, уровень 15, состояние 1, строка 62
Неправильный синтаксис около конструкции "T".

Как правильно удалить группы из таблицы?
...
Рейтинг: 0 / 0
удалить список групп из таблицы sql
    #39699659
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kontox,

или алиас убрать или

Код: sql
1.
DELETE  T FROM [Action].[dbo].[promo_data] T
...
Рейтинг: 0 / 0
удалить список групп из таблицы sql
    #39699689
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKKontox,

или алиас убрать или

Код: sql
1.
DELETE  T FROM [Action].[dbo].[promo_data] T

Или полностью, если на то пошло :D
Код: sql
1.
DELETE FROM T FROM [Action].[dbo].[promo_data] T
...
Рейтинг: 0 / 0
удалить список групп из таблицы sql
    #39699693
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или
Код: sql
1.
2.
3.
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];
...
Рейтинг: 0 / 0
удалить список групп из таблицы sql
    #39699705
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хм, я решил сделать бекапную таблицу и на ней опробывать

Код: sql
1.
2.
3.
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 строк
...
Рейтинг: 0 / 0
удалить список групп из таблицы sql
    #39699716
Фотография PaulYoung
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KontoxКак же мне удалить строки именно группы указанные, по идеи должно удалиться около 40*52=2080 строкПравильно скопировать скрипт из примера выше и выполнить его
...
Рейтинг: 0 / 0
удалить список групп из таблицы sql
    #39699717
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kontox,

вы вначале сделайте запрос SELECT который вытаскивает интересующие вас строки. а потом его поменяйте на DELETE
...
Рейтинг: 0 / 0
удалить список групп из таблицы sql
    #39699727
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kontox,

ВСЕГДА пишите алиасы таблиц у полей. Это же так просто.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / удалить список групп из таблицы sql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]