我有一个select字段,我需要从mysql填充以准备执行搜索[提交表单时]
表格中的数据类似于[不锈钢表面处理类型]
#3
#3 SP
#4
#4 LAS
#4 PP
#4 PI
#4 PVC
2B
2B PVC
2B/PI
我需要在select控件中选择它们并将它们分组,以便选项显示为:
<option value="#3">#3</option>
<option value="#4">#4</option>
<option value="2B">2B</option>
<option value="ALUM">ALUM</option>
<option value="QQ">QQ</option>
<option value="QQ 2A">QQ 2A</option>
<option value="RO PVC">RO PVC</option>
<option value="SCRP">SCRP</option>
<option value="SCRAP">SCRAP</option>
如果没有所有后缀,现在,并非所有组都是前两个字符,并且并非所有项目都会被分组,即那里的项目如下:
ALUM
QQ
QQ 2A
RO PVC
SCRP
SCRAP
不应对这些项目进行分组。
目前我所做的只是直接选择:
select distinct(finish) from inventory_data where `finish` != '' order by `finish`;
不幸的是,它是一个我无法更改的现有数据库,并且没有任何分组表或关系可以为我这样做。
有关完成此操作的最佳方法的任何建议吗?
更新
答案 0 :(得分:0)
有时我们过度思考。
解决方案是:
select distinct(finish) from inventory_data
where `finish` != ''
and 'finish' NOT REGEXP '^#2|^#4|^BA|etc'
order by `finish`;
然后在查询后添加我需要的完成。我可以在一些更复杂的条件下使用不同的REGEX。