解决方案 »
- 求一个多begin和end的存储过程的例子
- mysql一句sql查询速度越来越慢?
- mysql 创建timestamp类型字段出错
- 十万火急的mysql数据库难题,百万分的感激,请救救我!
- mysqldump执行总报"mysqldump: unknown option '--quick4'"
- 提交中文到数据库产生乱码
- ##help~~linux7.3下mysql启动不了
- 为什么在PHPMyAdmin的SQL选项卡里执行锁表操作没有效果?
- mysql 主从复制报错,不知道是什么原因
- 游标遍历 但是后面处理逻辑有一个sql查询没值导致遍历结束
- 什么是文档数据库?
- 查询所学课程跟 张三 所学课程一样的所有学生信息
select * from (SELECT * FROM `order` as oi limit 2) as oit left join order_item on o_id=oi_order_id and oi_name='Box'
但这句:我想 有box的前2个单,但搜索不到的,box为空的都有
select * from (SELECT * FROM `order` as oi limit 2) as oit left join order_item on o_id=oi_order_id and oi_name='Box'
你要的结果用下面的sql语句试试。select * from (select oi_order_id from order_item
where oi_name='Box' -- 条件
group by oi_order_id
limit 2) as oit
left join `order` on oit.oi_order_id = `order`.o_id
left join order_item on oit.oi_order_id = order_item.oi_order_id
你的条件里要oi_name='Box'
是指出现订单商品中包含'box'的订单下的所有商品,还是仅出现订单商品是'box'的商品?上述SQL是出现包含'box'商品的订单及该订单的下所有商品。
只要订单信息?select * from (select oi_order_id from order_item
where oi_name='Box' -- 条件
group by oi_order_id
limit 10) as oit
left join `order` on oit.oi_order_id = `order`.o_id
如果你要取的是订单信息。则不管你要连几张表,一律写在子查询中,条件也一律加上,最后加上group by o_id order by o_id limit N
例如:
select v2_order.o_id from v2_order
left join 表1 on XXXXXXXX
left join 表2 on XXXXXXXX
......
where
条件1
and 条件2
and 条件3
......
group by v2_order.o_id
order by v2_order.o_id
limit N这样取出来的就是符合条件的前 n 条订单ID。然后再去连其他需要的表就是了。