> Can I use a calculated field in a WHERE condition of a SELECT statement? I > get a "column 'total' does not exist" error when I run the statement > below. > 'total' is a field generated by a SUM and I want to use it in the WHERE > condition. > > SELECT > facturas.fce_id, > facturas.fce_numero_factura, > facturas.fce_fecha, > compradores.com_nombre, > facturas.fce_subdivision, > facturas.fce_valor_comercial, > SUM(facsub.fce_valor_comercial) AS total > FROM > trafico.facturas_exportacion facturas > INNER JOIN trafico.cat_compradores compradores ON > (facturas.fce_comprador > = compradores.com_clave) > INNER JOIN trafico.facturas_exportacion facsub ON (facturas.fce_id = > facsub.fce_id_factura_original) > WHERE > facturas.fce_subdivision = true AND facturas.fce_valor_comercial > total > GROUP BY facturas.fce_id,compradores.com_clave > > Respectfully, > Jorge Maldonado
WHERE clause is pre-grouping.
What you want is the HAVING clause - though you have to repeat the expression (e.g., col > sum(...) ) as opposed to referring to it by name (e.g., col > total).