powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / позапросы
3 сообщений из 3, страница 1 из 1
позапросы
    #37949449
gda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет

вопрос, как переписать запрос не используя подзапрос? в oracle есть конструкция WITH, можно ли ее изпользовать в sybase. буду блогадарин любым советам
Код: 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.
SELECT DISTINCT P2.criteriaId
    ,hasExceptions=CASE WHEN DC.dealComponentId IS NOT NULL
                                AND DC.exclusionIndc='N'
                           THEN 'Y'
                           ELSE 'N'
                      END
     ,hasExclusions=CASE WHEN DC2.dealComponentId IS NOT NULL
                                AND DC2.exclusionIndc='Y'
                           THEN 'Y'
                           ELSE 'N'
                      END
FROM

(
 SELECT  RL.ratioCd
        ,PC.criteriaId
        ,PC.marketCd
        ,PC.product_line
        ,PC.vintageFrom
        ,PC.vintageTo
        FROM  SMLkpRatio RL
        JOIN SMRatioCriteria PC
         ON PC.ratioCd= RL.ratioCd
         AND PC.dealComponentId IS NULL
	 AND PC.isCurrent = 'Y' AND PC.criteriaStatusCd=4
         AND PC.ratingFrom=1 AND PC.ratingTo=21
         AND PC.seasoningFrom IS NULL AND PC.seasoningTo IS NULL
        WHERE    RL.isActive='Y'


       ) P2
 LEFT JOIN SMRatioCriteria DC
 ON P2.ratioCd=DC.ratioCd
 AND P2.marketCd = DC.marketCd
 AND P2.product_line = DC.product_line
 AND DC.vintageFrom BETWEEN  P2.vintageFrom and P2.vintageTo
 AND DC.dealComponentId IS NOT NULL
 AND DC.isCurrent ='Y'  --Only current deal level
 AND DC.exclusionIndc='N'
LEFT JOIN SMRatioCriteria DC2
 ON P2.ratioCd=DC2.ratioCd
 AND P2.marketCd = DC2.marketCd
 AND P2.product_line = DC2.product_line
 AND DC2.vintageFrom BETWEEN  P2.vintageFrom and P2.vintageTo
 AND DC2.dealComponentId IS NOT NULL
 AND DC2.isCurrent ='Y'  --Only current deal level
 AND DC2.exclusionIndc='Y'
 WHERE
 DC.criteriaId IS NOT NULL OR DC2.criteriaId IS NOT NULL
...
Рейтинг: 0 / 0
позапросы
    #37949465
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gda,

Просто раскрыть скобки и подставить соответствующие поля из подзапроса.
...
Рейтинг: 0 / 0
позапросы
    #37949466
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gda,

With в sybase нет, но он тут ни на фиг и не нужен.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / позапросы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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