Nikolay Trifonov wrote:
> select s.name as storename, sum(pc.rest) as rest, sum(pc.reserve) as reserve,
>r.name as regionname, r.id_region,
>(select first 1 rp.price_retail from region_prices rp
>where (r.id_region=rp.id_region) and (pc.id_product=rp.id_product)) as
> PriceRetail
> from stores s left join regions r on s.id_region=r.id_region, product_cards pc
> where s.id_store=pc.id_store
> and pc.id_product=582
> group by 1,4,5,6
> order by s.name
1.включи поля, по которым идет связка
подзапроса с внешним миром в group by
внешнего запроса (у тебя не хватает
pc.id_product в группировке)
2.(select first 1... where ) без order by можно
заменить на max((select ... where ...)) и
соответственно не группировать по
этому полученному полю
3.явное с неявным смешивать не
рекомендуется