Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Referring alias from select sql query

select 
      
      sum(case when oi.status = 'LOADING' or (oi.status = 'SORTING' and oi.type = 'RELEASE_OF_GOODS') then oi.release_qty else 0 end) as nonLoadedQty
      ,sum(case when oi.status = 'LOADING' or (oi.status = 'SORTING' and oi.type = 'RELEASE_OF_GOODS') then (oi.release_uom_value/oi.release_qty * oi.release_qty) else 0 end) as "nonLoadedUomValue" 
      from tmp_data rih
      left join pallets plt on plt.id = rih.reusable_pallet_id
      inner join products prd on prd.id = rih.product_id
      inner join bizplaces bz on bz.id = rih.bizplace_id
      inner join locations loc on loc.id = rih.location_id
      inner join warehouses wh on wh.id = loc.warehouse_id
      inner join order_inventories oi on oi.inventory_id = rih.inventory_id
      group by rih.inventory_id,rih.domain_id,rih.pallet_id,rih.carton_id,rih.qty,rih.uom_value,rih.uom,rih.last_seq,rih.created_at, rih.initial_inbound_at,rih.unit_cost,rih.reusable_pallet_id,
      rih.batch_id,plt.name,rih.batch_id_ref,rih.product_id,rih.packing_type,rih.bizplace_id,rih.location_id,prd.id,bz.id,loc.id,wh.name,rih.remark,rih.expiration_date,rih.status
      order by created_at desc
      where nonLoadedQty > 0
      OFFSET 0 LIMIT 20

Good day everyone, i want to get the alias value from the nonLoadedQty but it shows the error below

SQL Error [42703]: ERROR: column "nonloadedqty" does not exist
Position: 1920

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

Your condition belongs in the HAVING clause, not the WHERE clause:

HAVING SUM(CASE WHEN oi.status = 'LOADING' OR
                     (oi.status = 'SORTING' AND oi.type = 'RELEASE_OF_GOODS')
                THEN oi.release_qty ELSE 0 END) > 0
ORDER BY created_at DESC
OFFSET 0 LIMIT 20

Also note that ORDER BY comes after HAVING but before LIMIT.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading