【发布时间】:2017-07-06 19:41:38
【问题描述】:
我想选择最近的条目,但没有时间戳(created_at),可以通过选择主键上的最大值来识别它。问题在于子查询中的这一点,并且需要连接表。
查询是这样的:
$prodarr = DB::table('onhand_inventory')
->leftJoin('mapping', 'onhand_inventory.sku', '=', 'mapping.sku')
->where('mapping.mid', function ($query) {
$query->select('mapping.mid')->from('mapping')
->whereRaw('onhand_inventory.sku = mapping.sku')
->max('mapping.mid');
})->leftJoin('order_products', 'order_products.sku', '=', 'onhand_inventory.sku')
->leftJoin('vendors', 'mapping.v_id', '=', 'vendors.vid')
->where('onhand_inventory.shipped_with_box', 0)
->groupBy('onhand_inventory.inv_id')
->orderBy('onhand_inventory.inv_id')
->get();
在执行上述查询时会抛出以下错误 找不到列:1054 'where 子句'中的未知列'onhand_inventory.sku'
如何获取 onhand_inventory 的数据以与子查询中的映射进行比较。
【问题讨论】: