日期:2014-05-17  浏览次数:20498 次

有两个价格标准的怎么排序
数据库里有商品A、B、C,价格分别是50、40、30(类别为原价),当商品A(价格50)购买人数达到100的时候,价格变成了20(类别为现价)

如果按照原价的排序方法,页面一开始呈现的数据是50、40、30,当A触发条件的时候,列表排序就成了20、40、30了

如果按照现价的排序方法,页面一开始呈现的数据就会乱

现在按原价排,不对,按现价排也不行,想实现的结果是即使触发条件,也能正确按照当时的价格来排序,请问该怎么构建数据好?


------解决方案--------------------
order by case when 价格=20 then 50 else 价格 end
------解决方案--------------------
ORDER BY CHARINDEX('204030',LTRIM(价格')
------解决方案--------------------
不要纠结了,加一个字段好了。一个保留原价,一个保留现价,初始时现价默认为原价,触发后改变现价,原价不变,你想按哪个排就按哪个排好了。
------解决方案--------------------
恳请结贴时多给点分啊,我现在积分只有2分,想下个资料都下不了。谢谢!^_^
------解决方案--------------------
其实就是多出一种价格而已,就是当数量大于100的时候,价格为20;当数量小于100的时候,价格为50;其他的不便;那么算价格你是好算的,case when搞定,最好弄个表套一下,排序就OK!
------解决方案--------------------
这样的排序 ,CASE WHEN 可以搞定