【发布时间】:2015-10-20 08:25:39
【问题描述】:
我有桌子shoes_tbl 每双鞋都有颜色有时有多种颜色
示例:
带字段:鞋子、颜色
1. shoe1, black
2. shoe2, white
3. shoe3, red white
4. shoe4, red blue
5. shoe5, white
6. shoe6, blue
如果我使用:
SELECT color FROM shoes_tbl GROUP BY color
输出将是:
黑、白、红白、红蓝、蓝
我想成为:
黑、白、红、蓝
有什么想法吗?谢谢..
【问题讨论】:
-
我认为您的架构没有正确使用数据库关系。您在单个单元格中编码多个关系(“红蓝”)。您可以继续使用此模式并处理数据库外部的值(空格分隔的字符串)。或者您将架构重写为
shoes_tbl和另一个表shoe_color之间的多对多关系。 -
实际上我没有主颜色表,如果可以的话,我想自动显示在 shoes_tbl 中添加的列表颜色。但如果我不能在查询中做到这一点。我怎么能在 php 脚本中做到这一点.. ??谢谢..
-
在 php 中你必须使用
explode()函数来实现 php.net/manual/en/function.explode.php -
根据我的建议@Vedran 是正确的,您必须更改您的架构,因为如果您在拆分之类的列上进行进一步的处理,那么当您拥有大量数据时会导致性能问题。