1***@qq.com
- 发布:2021-12-30 15:04
- 更新:2021-12-30 16:05
- 阅读:329
当我把or放到一个match里面的时候只有第一个or是执行,分成两个match分别放之后就两个or都执行了,是match里只能有一个or吗?还是我哪里写错了。。。
1***@qq.com (作者)
一开始我是把goodsid: .or(_.eq(info.id), .eq(info.goods_id))跟"orderInfo.userid": .or(_.eq(userInfo.id), .eq(userInfo.user_id)),放在同一个match里面,出来的数据没有跟"orderInfo.userid": .or(_.eq(userInfo.id), .eq(userInfo.user_id))这个条件匹配,后面分别放到两个match里面后数据就跟两个条件匹配了。。。
2021-12-30 16:24
DCloud_uniCloud_WYQ
回复 1***@qq.com: 我这造了点数据测试了下没能复现你的问。看下是不是看错了,orders是一个数组,里面只要某一项满足你的条件就会匹配到整条goods记录。另外你的or没必要写成这样吧,直接js里面计算好到底用哪个值不就行了吗?
2021-12-31 11:39
1***@qq.com (作者)
回复 DCloud_uniCloud_WYQ: SELECT * from tp_order_goods og left join tp_order o on o.order_id = og.order_id where og.goods_id = 146 and o.add_time <= 1638288000 and o.add_time >= 1606752000 and o.user_id = 146 and o.order_status in (0,1,2)我想实现的是这样的sql语句 or and or ,没在js计算主要是这个数据是从mysql里面迁移过来的,里面已经用order_id,goods_id这些作为外键了,但是以后用这个数据库的或就要使用_id作为外键,所以or就这样用了。。。
2021-12-31 13:37