powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / GREATEST - select как аргумент
5 сообщений из 5, страница 1 из 1
GREATEST - select как аргумент
    #39415057
talent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Подскажите, возможно ли в аргументах GREATEST использовать вложенные запросы? Например
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT GREATEST(
    TIMESTAMP(SELECT A.VAL
              FROM ATAB A
                INNER JOIN VTAB V ON V.IDVAR = A.IDVAR
              WHERE UPPER(V.NAME) = 'NAME1' AND A.ID = P.ID),
    TIMESTAMP(SELECT A.VAL
              FROM ATAB A
                INNER JOIN VTAB V ON V.IDVAR = A.IDVAR
              WHERE UPPER(V.NAME) = 'NAME2' AND A.ID = P.ID))
  FROM PTAB P
WHERE P.ID = 65;



Заранее спасибо!
...
Рейтинг: 0 / 0
GREATEST - select как аргумент
    #39415134
talent,

если подзапросы возвращают скалярную величину, то почему бы и нет?

Код: 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.
select
       greatest
         (
           (
             select 1 from dual
           ),
           (
             select 2 from dual
           )
         ) as x_greatest
      , least
         (
           (
             select 1 from dual
           ),
           (
             select 2 from dual
           )
         ) as x_least
  from dual;


X_GREATEST   X_LEAST
----------   -------
         2         1
...
Рейтинг: 0 / 0
GREATEST - select как аргумент
    #39415165
talent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
Почему-то с TIMESTAMP не работает.
Код: plsql
1.
2.
3.
4.
[42601][-104] Обнаружен неправильный элемент "A" после текста "TIMESTAMP (SELECT".  Список возможных правильных элементов: "
<space>".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.7.85
[56098][-727] Ошибка при неявном действии системы типа "2". Код ошибки SQLCODE "-104", состояние SQLSTATE "42601", элементы
 сообщения "A|TIMESTAMP (SELECT|<space>".. SQLCODE=-727, SQLSTATE=56098, DRIVER=4.7.85



Без него - все норм.
...
Рейтинг: 0 / 0
GREATEST - select как аргумент
    #39415616
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
talent,

Добрый день.
Попробуйте так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT GREATEST(
    TIMESTAMP((SELECT A.VAL
              FROM ATAB A
                INNER JOIN VTAB V ON V.IDVAR = A.IDVAR
              WHERE UPPER(V.NAME) = 'NAME1' AND A.ID = P.ID)),
    TIMESTAMP((SELECT A.VAL
              FROM ATAB A
                INNER JOIN VTAB V ON V.IDVAR = A.IDVAR
              WHERE UPPER(V.NAME) = 'NAME2' AND A.ID = P.ID)))
  FROM PTAB P
WHERE P.ID = 65;
...
Рейтинг: 0 / 0
GREATEST - select как аргумент
    #39415811
talent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Да, так работает. Спасибо!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / GREATEST - select как аргумент
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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