需求:查询订单得时候,能按照已交定金订单,已交预付款订单,已交尾款订单;怎么做才能准确且快速得实现这样得查询。
可能会出现得情况:
有得订单只交了定金
有得订单交了定金和预付款
有得订单直接交了预付款,没交定金。
有得订单可能直接交了尾款等。
我这个菜鸟初步想得是,在订单表做一个字段_Money_State,用来记录收款状态,比如 定金是1,预付款是2,尾款是3,,然后用逗号隔开,比如交了定金得客户字段就存1,交了定金和预付款得就存1,2,然后我做订单查询得时候in查询就行了。
不知道我这个方法可不可行,还有大神有木有更好得办法。
7 个解决方案
#1
存储为 1,2 用 in 是查不到的,MySQL 可用 find_in_set 查找,其他数据库就只能用 like 了
你可以使用 set 或 enum 类型保存
即便如此,你也没法区分 定金是多少,预付款是多少
你可以使用 set 或 enum 类型保存
即便如此,你也没法区分 定金是多少,预付款是多少
#2
或者这样我在 订单表里新增三个字段,订单金额、预付款金额、尾款金额,添加款项得时候根据款项类别同时更新不同的字段,直接把金额写到订单表,查询得时候 查询已交定金得订单就 订单金额>0查询 预付款订单就预付款金额>0,
这样行么,版主大大。。。不过有一点是,我这个款项类型(定金、预付款、尾款)是做到数据字典得,这三个可能不是固定的,以后可能还会新增新的款项类型。
#3
新增三个字段是可以的
但是流水账不是更清晰吗?
但是流水账不是更清晰吗?
#4
流水账是什么意思?我是菜鸟,版主愿闻其详。。。
#5
这就是流水账
其他信息 定金 1000
其他信息 预付款 2000
其他信息 尾款 500
其他信息 定金 1000
其他信息 预付款 2000
其他信息 尾款 500
#6
我觉得你可能想多了,按照逻辑 这几个数据只是针对一个订单 或者一个汇总处理
那么从查询上来说 即使是 每个字段判断一下 也没有多少工作量.所以个人建议 怎么处理都可以, 我个人比较偏向于每个数据独立一个字段 查询到的数据就不再需要做处理了.
那么从查询上来说 即使是 每个字段判断一下 也没有多少工作量.所以个人建议 怎么处理都可以, 我个人比较偏向于每个数据独立一个字段 查询到的数据就不再需要做处理了.
#7
这个不能用in来查询,是需要用like来查询的,还有就是我看了一下 你们这个流程好像有点问题,没交定金怎么可以交预付款,还有尾款之类的,这一些建议一步步按照流程走比较好,没有交定金就不能交预付款,没有交预付款就不能交尾款,还有建议多增加三个字段定金 预付款 尾款 ,如果定金交了,则定金值为1,预付款尾款也是如此,这样更容易理解,也比较好操作
#1
存储为 1,2 用 in 是查不到的,MySQL 可用 find_in_set 查找,其他数据库就只能用 like 了
你可以使用 set 或 enum 类型保存
即便如此,你也没法区分 定金是多少,预付款是多少
你可以使用 set 或 enum 类型保存
即便如此,你也没法区分 定金是多少,预付款是多少
#2
或者这样我在 订单表里新增三个字段,订单金额、预付款金额、尾款金额,添加款项得时候根据款项类别同时更新不同的字段,直接把金额写到订单表,查询得时候 查询已交定金得订单就 订单金额>0查询 预付款订单就预付款金额>0,
这样行么,版主大大。。。不过有一点是,我这个款项类型(定金、预付款、尾款)是做到数据字典得,这三个可能不是固定的,以后可能还会新增新的款项类型。
#3
新增三个字段是可以的
但是流水账不是更清晰吗?
但是流水账不是更清晰吗?
#4
流水账是什么意思?我是菜鸟,版主愿闻其详。。。
#5
这就是流水账
其他信息 定金 1000
其他信息 预付款 2000
其他信息 尾款 500
其他信息 定金 1000
其他信息 预付款 2000
其他信息 尾款 500
#6
我觉得你可能想多了,按照逻辑 这几个数据只是针对一个订单 或者一个汇总处理
那么从查询上来说 即使是 每个字段判断一下 也没有多少工作量.所以个人建议 怎么处理都可以, 我个人比较偏向于每个数据独立一个字段 查询到的数据就不再需要做处理了.
那么从查询上来说 即使是 每个字段判断一下 也没有多少工作量.所以个人建议 怎么处理都可以, 我个人比较偏向于每个数据独立一个字段 查询到的数据就不再需要做处理了.
#7
这个不能用in来查询,是需要用like来查询的,还有就是我看了一下 你们这个流程好像有点问题,没交定金怎么可以交预付款,还有尾款之类的,这一些建议一步步按照流程走比较好,没有交定金就不能交预付款,没有交预付款就不能交尾款,还有建议多增加三个字段定金 预付款 尾款 ,如果定金交了,则定金值为1,预付款尾款也是如此,这样更容易理解,也比较好操作