powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / помогите с хитрым update
7 сообщений из 7, страница 1 из 1
помогите с хитрым update
    #38622115
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
firebird 2.5 у меня
в общем проблема такая
есть таблица
id
link_uch
link_people
link_parent
т.е. по сути это список все поля integer

ситуация такая пользователь может в этот список залить данные таким образом что может быть 2-3 одинаковых значения link_uch с разными значениями link_people в рамках одного link_parent это в общем то иногда удобно и не возбраняется теперь вот такая задача
хотелось бы чтоб из списка по заданному link_parent выбирались такие записи для которых есть повторения значения link_uch и для них менялось значение поля link_parent на иное (:link_new_parent)
пробовал по разному никак не выходит чтоб одним запросом это сделать
вот примерно так

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
update pod_detail pdd
  set pdd.link_parent=:link_new_parent
  where pdd.id in
    (select cv.id
     from
       (select count(distinct link_uch), link_people, link_parent, id
        from pod_detail
        where (not ((link_uch is null) OR (link_people is null)))
                and (link_parent=:prnt)
        group by link_people, link_parent, id) cv)


пробовал и execute block в котором for select в общем по разному ругается на group by
в общем если есть идеи подскажите плз.
...
Рейтинг: 0 / 0
помогите с хитрым update
    #38622130
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tromaniчтоб из списка по заданному link_parent выбирались такие записи для которых
есть повторения значения link_uch
Код: sql
1.
group by link_uch having count(*)>1


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
помогите с хитрым update
    #38622134
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в общем я понимаю что он выдает все записи которые есть потому что в group by id есть... и он не знает какую мне выдать из списка если count выдает 2 или 3 к примеру но в том и дело что мне в общем всеравно любую можно может тут както first поможет но как юзать хз
...
Рейтинг: 0 / 0
помогите с хитрым update
    #38622158
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

да having забыл написать но то понятно, спасибо что напомнили
я про другое в перечислении group by есть id а оно то уникальное а мне надо вытащить то из этого именно id причем по сути неважно какое в рамках группы как вот это сделать... вот в чем вопрос собственно
...
Рейтинг: 0 / 0
помогите с хитрым update
    #38622163
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tromaniон не знает какую мне выдать из списка если count выдает 2 или 3 к примеру но в том и дело что мне в общем всеравно любую можноВозьмите min или max, раз уж всё равно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
recreate table t(x int, y int);
commit;
insert into t values(10, 100);
insert into t values(11, 200);
insert into t values(12, 300);
insert into t values(13, 100);
insert into t values(14, 200);
insert into t values(15, 400);
insert into t values(16, 500);
insert into t values(17, 500);
insert into t values(18, 600);
insert into t values(19, 700);
commit;
select y, min(x), max(x)
from t
group by y
having count(*)>1
...
Рейтинг: 0 / 0
помогите с хитрым update
    #38622166
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо id вытаскивать. Если тебе всё равно какую одну запись поменять, пиши "update ...
rows 1".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
помогите с хитрым update
    #38622171
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид,
да точно спасибо огромное...туплю... как это я про min max забыл... )))
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / помогите с хитрым update
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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