Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2021, 20:06   #1
da chto eto takoe
Новичок
Джуниор
 
Регистрация: 21.10.2021
Сообщений: 5
По умолчанию Переделать sql запрос - Версия субд не поддерживает WITH

Для решения задачи есть следующий код:
Код:
WITH cte AS
  (SELECT Contractor,date,sum(sum) as allsum 
     FROM nomenclaturesale
     GROUP BY Contractor,date)
SELECT u.Contractor,COUNt(*)
  FROM (SELECT Contractor,date,allsum,
           (SELECT COUNT(*) FROM cte c2 WHERE c2.date=c1.date AND c2.allsum>c1.allsum) num
          FROM cte c1) u
  WHERE u.num<=2         
  GROUP BY u.Contractor
  HAVING COUNt(*)=(SELECT COUNT(DISTINCT date) FROM nomenclaturesale)
FROM cte c1
Версия субд не поддерживает WITH(к сожалению, версию поменять принципиально нельзя). Как можно поменять код, чтобы он работал без with ?
da chto eto takoe вне форума Ответить с цитированием
Старый 25.10.2021, 08:21   #2
rita616
Пользователь
 
Регистрация: 19.12.2019
Сообщений: 69
По умолчанию

Временную таблицу сделать или курсор.
rita616 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать запрос в БД через Accec.Нужно переделать код в SQL. Sentinel2h БД в Delphi 0 09.10.2017 14:31
Переделать запрос из access на sql server Barmsl SQL, базы данных 11 14.11.2013 08:54
Переход с СУБД Access на СУБД MS SQL Server Dux БД в Delphi 21 16.10.2013 19:07
Какая версия Delphi поддерживает Юникод? Arassir Общие вопросы Delphi 3 29.03.2011 21:11
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09