我试图在Code Igniter中执行此查询:
Select
items_mtoedifsing.Marca,
items_mtoedifsing.Modelo,
items_mtoedifsing.Familia,
items_movimientos.id_item,
items_movimientos.Tipo_Movimiento,
items_movimientos.Fecha_Movimiento,
items_movimientos.Destino
from items_movimientos
JOIN items_mtoedifsing ON items_mtoedifsing.id_item=items_movimientos.id_item
where
items_movimientos.fecha_movimiento = (Select max(fecha_movimiento) from items_movimientos it where it.id_item=items_movimientos.id_item)
and items_movimientos.Destino='value'
但是我对子查询有一些问题。这是我的代码,当它返回1行时返回0行:
$this->db->select('*');
$this->db->from('items_movimientos');
$this->db->join('items_mtoedifsing', 'items_mtoedifsing.id_item = items_movimientos.id_item');
$this->db->where('items_movimientos.Fecha_Movimiento', '(Select max(fecha_movimiento) from items_movimientos it where it.id_item=items_movimientos.id_item)');
$this->db->where('items_movimientos.Destino', $param);
这部分怎么办?
$this->db->where('items_movimientos.Fecha_Movimiento', '(Select max(fecha_movimiento) from items_movimientos it where it.id_item=items_movimientos.id_item)');
答案 0 :(得分:1)
使用活动记录,您可以将第二个参数作为空,将第三个参数作为FALSE传递。
$subquery="(Select max(fecha_movimiento)
from items_movimientos it
where it.id_item=items_movimientos.id_item)";
$this->db->where('items_movimientos.Fecha_Movimiento ='.$subquery, null,FALSE);