【发布时间】:2019-10-23 05:00:24
【问题描述】:
我在一个客户网站上工作,我们在他们的网站上有一个订单表格,允许他们选择他们的部门,然后选择特定于他们部门的产品,最后一旦他们选择了产品,他们将获得数量选项。所有这些字段都是通过一个数据库中的 SQL 查询填充的,该数据库列出了所有部门、产品和数量选项。
让我先说我在 SQL 方面非常初学者,这是我自己的一个小项目,我正在努力简化我们的一些流程。所以对我放轻松。
我遇到的问题是排序问题,我必须将 Quantity 数据库列设置为 VARCHAR,因为它不仅仅是整数,例如,某些产品的数量选项可能只有 250、500、1000,但其他产品可能有 10 个焊盘、20 个焊盘、50 个焊盘等的数量选项。
我们使用的表单模块具有我假设的基本 SQL 查询输入,因为它们提供的查询示例只是语法字符串,不像我在一些试图解决此问题的研究中看到的那样。
这是我为回调数据而编写的查询:
select distinct Quantity
from GSD_Products
where Form = [Form]
order by Quantity ASC
所以我的问题是,当表单上的下拉字段为我的一些产品填充时,这些数据不是 INT,它们只是 INT,它们不是正常的升序:
1000
250
2500
500
5000
我希望它们显示为:
250
500
1000
2500
5000
其他包含 int 和 characters 混合的产品数量以适当的顺序列出,例如:
10 个焊盘、20 个焊盘、50 个焊盘。
确实有人向我指出了可能解析 NVARCHAR 值的方向,我一直在尝试对此进行研究,但我缺乏知识只是了解在这种情况下我可以尝试哪些选项的障碍。
【问题讨论】: