Suponiendo la existencia de dos tablas
comuna y
ciudad, la cosa andaría por aquí:
Código MySQL:
Ver original ef.numero_factura,
ef.fecha_factura,
(CONCAT(c.rut_cliente
,"-",c.dv_cliente
) rut_dv_cliente
, c.giro_cliente,
c.direccion_cliente,
c.nombre_comuna,
c.nombre_ciudad,
cf.linea_factura,
cf.id_contrato_cliente,
cf.cantidad,
cf.descuento,
cf.precio_unitario,
pf.valor_neto,
pf.valor_iva,
pf.valor_bruto,
pf.total_descuento
FROM encabezado_factura ef
LEFT JOIN ciudad ci
ON ci.id_ciudad
= c.id_ciudad
;
Estoy suprimiendo las subconsultas en el SELECT porque esos datos deben obtenerse del FROM, de lo contrario la consulta será
MUY ineficiente.
Esto puede requerir algun ajuste, conforme sean los datos y las tablas que tu tengas.