|
Ошибка в запросе
|
|||
---|---|---|---|
#18+
Добрый день. Есть такой запрос: select (select case when patindex('[0-9][0-9][0-9][0-9][0-9][0-9]%', eaa.adr_adm_ter) = 1 then substring (eaa.adr_adm_ter,9,10000) else eaa.adr_adm_ter end from public.ent_as_addrobj eaa where 1=1 and eaa.livestatus = 1 and eaa.parent_id is not null and eaa.aolevel in (4,6,65)) as NP , count (eah.orponid) , count (eah.orponid) filter (where eon.placecnt is not null) from public.ent_as_house eah INNER JOIN public.ENT_OBJECT_NED eon on eah.ob_ned_id = eon.id inner JOIN public.ENT_RESIDENTAL er on er.id = eon.isresidental_id inner JOIN public.ent_spr_pr_obj_str pos on eon.residental_type_id = pos.id where 1=1 and eah.livestatus = 1 and eah.mrf_id = 354858661 and pos.id = 417319458 and eon.areatype = 1 and er.id = 377945938 and eah.adr_adm_ter like '%"NP"%' order by NP В нем нужно посчитать по населенным пунктам NP кол-во домов по двум условиям. При выполнении запроса выдается ошибка: more than one row returned by a subquery used as an expression Подскажите, пожалуйста, где в запросе ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2021, 21:47 |
|
Ошибка в запросе
|
|||
---|---|---|---|
#18+
*Ann*, Не очень понятен запрос в части (select case when patindex('[0-9][0-9][0-9][0-9][0-9][0-9]%', eaa.adr_adm_ter) = 1 then substring (eaa.adr_adm_ter,9,10000) else eaa.adr_adm_ter end from public.ent_as_addrobj eaa where 1=1 and eaa.livestatus = 1 and eaa.parent_id is not null and eaa.aolevel in (4,6,65)) as NP 1)он вообще никак не зависит от общего запроса 2)он судя по вашей ошибке больше одной строки возвращает вы там точно никакое условие нигде в нем не забыли для связи с eah ? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2021, 21:52 |
|
Ошибка в запросе
|
|||
---|---|---|---|
#18+
Maxim Boguk, прошу прощения, ошибка в самом конце запроса, вместо order by нужно написать group by. Но теперь вообще ничего не считается. Скорее всего неправильно используется NP в операторе like: and eah.adr_adm_ter like '%"NP"%' Как правильно нужно написать, подскажите, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2021, 21:59 |
|
Ошибка в запросе
|
|||
---|---|---|---|
#18+
*Ann* Maxim Boguk, прошу прощения, ошибка в самом конце запроса, вместо order by нужно написать group by. Но теперь вообще ничего не считается. Скорее всего неправильно используется NP в операторе like: and eah.adr_adm_ter like '%"NP"%' Как правильно нужно написать, подскажите, пожалуйста. Не понятно что вы хотите от базы вашим запросом получить... приведите пример данных и требуемого ответа Объясните что такое NP у вас... -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2021, 22:26 |
|
Ошибка в запросе
|
|||
---|---|---|---|
#18+
Maxim Boguk, NP это населенный пункт, например, Оренбургская обл, Новотроицк г., Аккермановка п. Этот населенный пункт является частью полного адреса eah.adr_adm_ter: Оренбургская обл, Новотроицк г., Аккермановка п., дом 1 Оренбургская обл, Новотроицк г., Аккермановка п., дом 2 Оренбургская обл, Новотроицк г., Аккермановка п., дом 3 Оренбургская обл, Новотроицк г., Аккермановка п., ул. Ленина, дом 4 и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2021, 22:40 |
|
Ошибка в запросе
|
|||
---|---|---|---|
#18+
Если пишу так: and eah.adr_adm_ter like '%'+NP+'%' то выдается ошибка column "np" does not exist ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 08:58 |
|
|
start [/forum/topic.php?fid=53&msg=40055072&tid=1994135]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 265ms |
total: | 387ms |
0 / 0 |