Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SELECT запрос. в чем ошибка?  [new]
Neftedollar
Member

Откуда:
Сообщений: 31
Запрос на удаление одинаковых строк в таблице. Не дублеров, а именно одинаковых.
+
SELECT [Отчетный период]
      ,[Сервисный период]
      ,[Номер контракта]
      ,[Business unit]
      ,[Тип клиента]
      ,[Признак резидента]
      ,[Точка продаж]
      ,[Офис продаж]
      ,[Регион инсталляции]
      ,[Регион инсталляции 2]
      ,[Продукт Совинтел]
      ,[Сервис]
      ,[Intercompany Совинтел]
      ,[Территор филиал до аллокации]
      ,[Территор филиал после аллокации]
      ,[Юр лицо Hyperion]
      ,[Intercompany Hyperion]
      ,[Юр лицо Intercompany Hyperion]
      ,[Сегмент Hyperion]
      ,[Источник расхождений]
      ,[Маркетинговый KPI]
      ,[KPI Hyperion]
      ,[Продукт Hyperion]
      ,[Источник данных]
      ,[Код сервиса]
      ,[Код продукта Совинтел]
      ,[Код терр филиала до аллокации]
      ,[Код терр филиала после аллокации]
      ,[Значение корректировки]
      ,[Минус]
  FROM [ZSQL].[dbo].[Лист1]
	Where ([Отчетный период] , [Сервисный период] , [Номер контракта], [Business unit] -- здесь ошибка
      ,[Тип клиента]
      ,[Признак резидента]
      ,[Точка продаж]
      ,[Офис продаж]
      ,[Регион инсталляции]
      ,[Регион инсталляции 2]
      ,[Продукт Совинтел]
      ,[Сервис]
      ,[Intercompany Совинтел]
      ,[Территор филиал до аллокации]
      ,[Территор филиал после аллокации]
      ,[Юр лицо Hyperion]
      ,[Intercompany Hyperion]
      ,[Юр лицо Intercompany Hyperion]
      ,[Сегмент Hyperion]
      ,[Источник расхождений]
      ,[Маркетинговый KPI]
      ,[KPI Hyperion]
      ,[Продукт Hyperion]
      ,[Источник данных]
      ,[Код сервиса]
      ,[Код продукта Совинтел]
      ,[Код терр филиала до аллокации]
      ,[Код терр филиала после аллокации]
      ,[Значение корректировки]) not in 
(Select [Отчетный период]
      ,[Сервисный период]
      ,[Номер контракта]
      ,[Business unit]
      ,[Тип клиента]
      ,[Признак резидента]
      ,[Точка продаж]
      ,[Офис продаж]
      ,[Регион инсталляции]
      ,[Регион инсталляции 2]
      ,[Продукт Совинтел]
      ,[Сервис]
      ,[Intercompany Совинтел]
      ,[Территор филиал до аллокации]
      ,[Территор филиал после аллокации]
      ,[Юр лицо Hyperion]
      ,[Intercompany Hyperion]
      ,[Юр лицо Intercompany Hyperion]
      ,[Сегмент Hyperion]
      ,[Источник расхождений]
      ,[Маркетинговый KPI]
      ,[KPI Hyperion]
      ,[Продукт Hyperion]
      ,[Источник данных]
      ,[Код сервиса]
      ,[Код продукта Совинтел]
      ,[Код терр филиала до аллокации]
      ,[Код терр филиала после аллокации]
      ,[Значение корректировки]
From [ZSQL].[dbo].[Лист1]
GROUP BY [Отчетный период]
      ,[Сервисный период]
      ,[Номер контракта]
      ,[Business unit]
      ,[Тип клиента]
      ,[Признак резидента]
      ,[Точка продаж]
      ,[Офис продаж]
      ,[Регион инсталляции]
      ,[Регион инсталляции 2]
      ,[Продукт Совинтел]
      ,[Сервис]
      ,[Intercompany Совинтел]
      ,[Территор филиал до аллокации]
      ,[Территор филиал после аллокации]
      ,[Юр лицо Hyperion]
      ,[Intercompany Hyperion]
      ,[Юр лицо Intercompany Hyperion]
      ,[Сегмент Hyperion]
      ,[Источник расхождений]
      ,[Маркетинговый KPI]
      ,[KPI Hyperion]
      ,[Продукт Hyperion]
      ,[Источник данных]
      ,[Код сервиса]
      ,[Код продукта Совинтел]
      ,[Код терр филиала до аллокации]
      ,[Код терр филиала после аллокации]
      ,[Значение корректировки]
HAVING COUNT(*)>1)

ошибку выдаеет: Сообщение 102, уровень 15, состояние 1, строка 2
Неправильный синтаксис около конструкции ",".
С AND тоже не получается.
20 май 11, 11:42    [10683100]     Ответить | Цитировать Сообщить модератору
 Re: SELECT запрос. в чем ошибка?  [new]
Glory
Member

Откуда:
Сообщений: 104751
потому что синтаксиса f1, f2, f3 IN(...) не существует в природе
20 май 11, 11:46    [10683162]     Ответить | Цитировать Сообщить модератору
 Re: SELECT запрос. в чем ошибка?  [new]
Neftedollar
Member

Откуда:
Сообщений: 31
а как же мне тогда выделить все строки которые не повторяются?
20 май 11, 11:47    [10683164]     Ответить | Цитировать Сообщить модератору
 Re: SELECT запрос. в чем ошибка?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Neftedollar
а как же мне тогда выделить все строки которые не повторяются?

Использовать документированный синтаксис наверное
20 май 11, 11:48    [10683172]     Ответить | Цитировать Сообщить модератору
 Re: SELECT запрос. в чем ошибка?  [new]
Neftedollar
Member

Откуда:
Сообщений: 31
Select [Отчетный период]
,[Сервисный период]
,[Номер контракта]
,[Business unit]
,[Тип клиента]
,[Признак резидента]
,[Точка продаж]
,[Офис продаж]
,[Регион инсталляции]
,[Регион инсталляции 2]
,[Продукт Совинтел]
,[Сервис]
,[Intercompany Совинтел]
,[Территор филиал до аллокации]
,[Территор филиал после аллокации]
,[Юр лицо Hyperion]
,[Intercompany Hyperion]
,[Юр лицо Intercompany Hyperion]
,[Сегмент Hyperion]
,[Источник расхождений]
,[Маркетинговый KPI]
,[KPI Hyperion]
,[Продукт Hyperion]
,[Источник данных]
,[Код сервиса]
,[Код продукта Совинтел]
,[Код терр филиала до аллокации]
,[Код терр филиала после аллокации]
,[Значение корректировки]
From [ZSQL].[dbo].[Лист1]
GROUP BY [Отчетный период]
,[Сервисный период]
,[Номер контракта]
,[Business unit]
,[Тип клиента]
,[Признак резидента]
,[Точка продаж]
,[Офис продаж]
,[Регион инсталляции]
,[Регион инсталляции 2]
,[Продукт Совинтел]
,[Сервис]
,[Intercompany Совинтел]
,[Территор филиал до аллокации]
,[Территор филиал после аллокации]
,[Юр лицо Hyperion]
,[Intercompany Hyperion]
,[Юр лицо Intercompany Hyperion]
,[Сегмент Hyperion]
,[Источник расхождений]
,[Маркетинговый KPI]
,[KPI Hyperion]
,[Продукт Hyperion]
,[Источник данных]
,[Код сервиса]
,[Код продукта Совинтел]
,[Код терр филиала до аллокации]
,[Код терр филиала после аллокации]
,[Значение корректировки]
HAVING COUNT(*)=1
20 май 11, 11:48    [10683173]     Ответить | Цитировать Сообщить модератору
 Re: SELECT запрос. в чем ошибка?  [new]
Neftedollar
Member

Откуда:
Сообщений: 31
велосипеедист = ///
20 май 11, 11:48    [10683175]     Ответить | Цитировать Сообщить модератору
 Re: SELECT запрос. в чем ошибка?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Neftedollar
а как же мне тогда выделить все строки которые не повторяются?
Пронумеровать ROW_NUMER()ом,
удалить с номерами >1
20 май 11, 11:49    [10683194]     Ответить | Цитировать Сообщить модератору
 Re: SELECT запрос. в чем ошибка?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Или надо удалить все строки, если их больше одной,
и ни одной из них не оставить?
20 май 11, 11:51    [10683206]     Ответить | Цитировать Сообщить модератору
 Re: SELECT запрос. в чем ошибка?  [new]
Neftedollar
Member

Откуда:
Сообщений: 31
iap,
Да нужно удалить все и ни одной не оставить.
И вроде запрос который я оставил выше выделяет строки которые нужно оставить и я могу их скопировать в EXCEL = )
20 май 11, 13:00    [10683830]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить