powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / update (из другой таблицы)
7 сообщений из 7, страница 1 из 1
update (из другой таблицы)
    #37485008
lubava1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в таблицу tab1 добавила новую колонку pole1, ее надо заполнить данными выводимыми запросом

select P2.PRED_ID
from letd.PRED_cnsi P2
where P2.pred_id in (select v_id from letd.VERTSV V
where V.VID_PODCH_PRIZ=-1
and V.activ='Y'
and V.N_ID in (select P1.pred_id from letd.PRED_cnsi P1
where P1.activ='Y' and P1.VD_ID =704
and P1.pred_id in (select PRED_ID from letd.PRED_REM
where UKP_KOD is not NULL )
and P1.PRED_ID in (SELECT O.PRED_ID FROM letd.STAN S, letd.OBJ_DIS O
where S.ST_kod in (select id from tab1.PRED) and
S.STAN_ID=O.OBJ_OSN_ID and O.activ='Y' and S.activ='Y')))

по принципу что в запрос(на месте выделеного) подставляется tab1.id и запрос выводит нужное значение для pole1 под нужную запись. В таблице около 100000 записей. как автоматизировать автозаполнение по данному условию, не делая процедуры?
Запрос рабочий в данном виде, выводит сразу все подходящие записи
...
Рейтинг: 0 / 0
update (из другой таблицы)
    #37485269
lubava1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
такой код не идет, так как якобы в одну запись добавляю несколько
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
UPDATE LETD.PRED t1

set ID_UKR =
    (select distinct P2.PRED_ID 
     from letd.PRED_cnsi  P2 
     where P2.pred_id in (select v_id from letd.VERTSV    V      
                            where V.VID_PODCH_PRIZ=- 1  
                                and V.activ='Y' 
                                and V.N_ID in (select P1.pred_id from letd.PRED_cnsi P1  
                                                  where P1.activ='Y' and P1.VD_ID = 704  
                                                    and P1.pred_id in (select PRED_ID from letd.PRED_REM 
                                                                             where UKP_KOD is not NULL )
                                                    and P1.PRED_ID in (SELECT O.PRED_ID FROM  letd.STAN  S, letd.OBJ_DIS   O  
                                                                           where S.ST_kod  in (select id from LETD.PRED WHERE TYPE= 0 ) and
                                                    S.STAN_ID=O.OBJ_OSN_ID  and O.activ='Y' and S.activ='Y'))) 

) 

WHERE TYPE= 0 
...
Рейтинг: 0 / 0
update (из другой таблицы)
    #37485383
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lubava1991,

вместо:
Код: plaintext
in (select id from LETD.PRED WHERE TYPE= 0 )
надо:
Код: plaintext
= t1.id

P.S.:
Cкажите, у вас что, действительно все эти subselect, перед которыми вы 'IN' указываете, возвращают по несколько значений?
Иначе ведь можно (и даже нужно) вместо 'IN' использовать '='.
...
Рейтинг: 0 / 0
update (из другой таблицы)
    #37485520
lubava1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блиин... косяк я))) спасибо огромное))
...
Рейтинг: 0 / 0
update (из другой таблицы)
    #37485675
lubava1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дополнение:
вот в другом запросе при каком то id выдает 2 или более значения, изза этого не заполняются данные.
select id,count(*) from (select ... ) group by key having count(*)>1 не работает...
...
Рейтинг: 0 / 0
update (из другой таблицы)
    #37490211
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lubava1991,

Как-то надо выбрать одну запись из двух - например посредством min(). Но данная ситуация скорее всего означает, что в самой постановке задачи что-то не так.
(если я правильно понял проблему)
...
Рейтинг: 0 / 0
update (из другой таблицы)
    #37490346
lubava1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне просто надо вычислить под какими id такие погрехи, чтобы потом вообще их отменить в запросе на добавление. запрос главный в отдельности работает, а как только начинаю пытать еще один поверх селект наложить так сразу выдает на ошибки различные в нем, то на имя таблицы, то еще на что то...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / update (из другой таблицы)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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