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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2020, 13:45   #1
rita616
Пользователь
 
Регистрация: 19.12.2019
Сообщений: 69
По умолчанию outer apply

Доброго времени суток.
Подскажите, пожалуйста. Как функцию переписать с 2005 MSSql на 2000. Чем заменить outer apply?
Заранее благодарю.
Код:
CREATE FUNCTION dev.COEFF (@DTMIN DATETIME, @DTMAX DATETIME)
RETURNS @COEFF TABLE (DEVICE_ID INT, LINE VARCHAR(255), DEVICE VARCHAR(255), CANAL VARCHAR(255),
  CNT REAL, T_SUM REAL,T_AVG REAL, K REAL)
AS
BEGIN
  INSERT @COEFF
  select s.DEVICE_ID, l.LINE_CODE+' '+l.LINE_NAME, d.DEVICE_NAME, c.CANAL_NAME
  , dc.CNT, Round(dc.T_SUM*24,2), Round(dc.T_AVG*24,2), Round(dc.C,2)
from dev.STRUCTS s
left join dev.DEVICES d on d.DEVICE_ID=s.DEVICE_ID
left join dev.CANALS c on c.CANAL_ID=s.CANAL_ID
left join dbo.LINES l on l.LINE_ID=d.LINE_ID
outer apply dev.DEV_C(s.DEVICE_ID, s.CANAL_ID, @DTMIN, @DTMAX) dc
RETURN
END
rita616 вне форума Ответить с цитированием
Старый 30.01.2021, 16:12   #2
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Лично я замены не знаю. Я так понимаю dev.DEV_C - это функция возвращающая Data? Я думал у меня у 1 нагорожено так, что тока под бутылкой и наркотиками разобраться можно xDDD.
Скорее всего придется отказаться от dev.DEV_C и выполнять расчеты в select например через case используя s.DEVICE_ID, s.CANAL_ID, @DTMIN, @DTMAX либо сделать
dev.DEV_C в виде вьюхи и обращаться через left join или подзапросом
Пишу много и развернуто

Последний раз редактировалось Heneken87; 30.01.2021 в 16:28.
Heneken87 вне форума Ответить с цитированием
Старый 24.09.2021, 08:35   #3
rita616
Пользователь
 
Регистрация: 19.12.2019
Сообщений: 69
По умолчанию

Спасибо)
rita616 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множество запросов через LEFT OUTER JOIN yu_kuvshinov БД в Delphi 6 14.03.2014 16:11
must apply updates before refreshing data maximus116 БД в Delphi 7 02.09.2012 22:54
ms sql server 2005 coss apply jigy2 SQL, базы данных 1 05.07.2012 12:55
Работают ли вложенные OUTER для BDE Paradox как это работает в Access? Ecosasha SQL, базы данных 1 02.12.2010 09:30