2015-12-04 2 views
0

Я пытаюсь обновить каждую строку с place_id (fk), но db говорит, что результат select имеет более одной строки. Конечно, он имеет более одной строки, потому что я пытаюсь обновить столбец, а не только одну запись.Операция комплексного обновления PostgreSQL в столбце

update Event set placeListingName = 
    (select substr(coalesce(epc.shortTitle, epc.title),1,100) 
    from Event e join e.place p join p.publicContent epc 
    where e.place is not null) 
where place is not null 

выражение в скобках (выберите ... где e.place не равно нулю) хорошо работает и возвращает список строк

+4

Вы слышали предложение 'on'? –

+0

на самом деле нет .... – kret

+1

Является ли это JPQL? (потому что это похоже) – pozs

ответ

0

Если кому интересно:

update Event e set e.placeListingName = 
    (select substr(coalesce(epc.shortTitle, epc.title),1,100) 
    from Event ev join ev.place p join p.publicContent epc 
    where ev.id = e.id) 
where e.place is not null 
Смежные вопросы