Гость
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Запрос Для каждого / 15 сообщений из 15, страница 1 из 1
05.10.2010, 13:49
    #36882370
ghjdjlrf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
SELECT L.formno, K.ID,
k.NMEC,k.NAIMS,k.NAME
FROM libr_app.libr_readers L, ozi_app.acs_vstaff K
WHERE
L.empno = K.ID(+)
AND

K.ID=(SELECT K.ID FROM ozi_app.acs_vstaff k
WHERE K.DAUV IS NULL and
K.PERSONA_ID = (SELECT K.PERSONA_ID FROM ozi_app.acs_vstaff k WHERE K.ID=12345))

Как написать, вместо "WHERE K.ID=12345"
"для каждого K.ID=L.empno"?
...
Рейтинг: 0 / 0
05.10.2010, 13:56
    #36882395
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
...
Рейтинг: 0 / 0
05.10.2010, 14:11
    #36882444
ghjdjlrf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT L.formno, K.ID,
k.NMEC,k.NAIMS,k.NAME
FROM libr_app.libr_readers L, ozi_app.acs_vstaff K
WHERE
L.empno = K.ID(+)
AND

K.ID=(SELECT K.ID FROM ozi_app.acs_vstaff k
WHERE K.DAUV IS NULL and
K.PERSONA_ID = (SELECT K.PERSONA_ID FROM ozi_app.acs_vstaff k WHERE K.ID= 12345 ))
...
Рейтинг: 0 / 0
05.10.2010, 14:11
    #36882448
ghjdjlrf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
suPPLer,

спасибо.
...
Рейтинг: 0 / 0
05.10.2010, 14:23
    #36882491
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
ghjdjlrf,

Код: plaintext
1.
2.
3.
4.
SELECT L.formno, K.ID,
k.NMEC,k.NAIMS,k.NAME
FROM libr_app.libr_readers L, (SELECT * FROM ozi_app.acs_vstaff WHERE DAUV IS NULL) K
WHERE
L.empno = K.ID(+)

Я надеюсь, что у Вас не просто так внешнее соединение.
...
Рейтинг: 0 / 0
05.10.2010, 15:00
    #36882643
ghjdjlrf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
suPPLer,
спасибо.
Про K.PERSONA_ID Вы не написали.

Из таблицы L нужно выбрать L.formno в итоговую таблицу и
L.empno для поиска по нему итоговой информации из таблицы K.
Информацию из таблицы К получаем так:
- находим K.id (равное L.empno),
- в строке с найденным K.id берем K.PERSONA_ID
- выбираем все строки с таким K.PERSONA_ID и среди них одну, где K.DAUV IS NULL - из этой строки
K.id берется в итог.
...
Рейтинг: 0 / 0
05.10.2010, 15:03
    #36882649
ghjdjlrf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
может union ALL надо использовать?
...
Рейтинг: 0 / 0
05.10.2010, 15:04
    #36882653
ghjdjlrf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
K.ID два получается старое из L и новое из K
...
Рейтинг: 0 / 0
05.10.2010, 15:32
    #36882742
ghjdjlrf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
ghjdjlrf,

L.empno = K.ID
(+) не надо - не найдет
...
Рейтинг: 0 / 0
05.10.2010, 15:37
    #36882774
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
Приведите здесь тестовые данные и желаемый результат. Это поможет форумчанам ответить Вам правильно.
...
Рейтинг: 0 / 0
05.10.2010, 15:40
    #36882785
ghjdjlrf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
suPPLer,

хорошо, буду учиться рисовать здесь таблицу
...
Рейтинг: 0 / 0
05.10.2010, 15:44
    #36882808
ghjdjlrf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
Код: plaintext
1.
2.
3.
L.formno L.empno       K.ID  K.PERSONA_ID    K.DAUV
  1        11               113        7                  NULL
  2        22               11          7               12.01.2010
  3        33                                                      
...
Рейтинг: 0 / 0
05.10.2010, 15:47
    #36882817
ghjdjlrf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
ghjdjlrf,

вторая таблица с исходными данными
Код: plaintext
1.
2.
3.
K.ID     K.PERSONA_ID          K.DAUV
  113        7                         NULL
  11         7                      12.01.2010


Желаемый итог:
Код: plaintext
1.
2.
L.formno  K.ID  
  1          113 
...
Рейтинг: 0 / 0
05.10.2010, 15:51
    #36882827
ghjdjlrf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
вторая таблица с исходными данными в поле PERSONA_ID разные значения, нужны сейчас со значением 7 (для L.empno=11).
Код: plaintext
1.
2.
3.
4.
K.ID     K.PERSONA_ID          K.DAUV
  113        7                         NULL
  11         7                      12.01.2010
  65         465                   10.09.2010
...
Рейтинг: 0 / 0
09.10.2010, 22:32
    #36891128
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Для каждого
Сожалею, я так ничего и не понял из Вашей "постановки".

PS: Таблицы оформляются тегом CSV или в виде WITH ... SELECT ... .
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Запрос Для каждого / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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