Yo probaría una consulta mas o menos así:
Código MySQL:
Ver original p.id_producto,
p.codigob,
p.descripcion_anterior,
SUM(IF(e.almacen_id
= '$almacenMty', e.cantidad
, 0)) existencia_mty
, SUM(IF(e.almacen_id
= '$almacenBodega', e.cantidad
, 0)) existencia_bodega
, SUM(IF(e.almacen_id
= '$almacenNorte', e.cantidad
, 0)) existencia_norte
, SUM(IF(e.almacen_id
= '$id_almacen', e.cantidad
, 0)) existencia_almacen
, MAX(IF(e.almacen_id
= '$id_almacen', e.maximo
, 0)) maximo_almacen
, MIN(IF(e.almacen_id
= '$id_almacen', e.minimo
, 0)) AS minimo_almacen
productos p
INNER JOIN existencias e
ON p.id_producto
= e.id_producto
Ten en cuenta que yo no tengo ni tu tabla ni tus datos, por lo que estoy haciendo una mera suposición de la lógica que planteas.