Php 基于concat列表的mysql订单

Php 基于concat列表的mysql订单,php,mysql,Php,Mysql,我有两张桌子: 产品 属性 products.product_属性包含与此产品相关的所有属性标识符的concat列表。但我的问题是排序,concat列表以手动指定的顺序包含所有标识符,但这对结果的顺序没有影响 如何使用concat列表来标识订单 查询示例: SELECT * FROM attributes WHERE attribute_id IN(products.product_attributes) 感谢@Raymond Nijland,更少的黑客解决方案: SELECT DI

我有两张桌子:

  • 产品
  • 属性
products.product_属性包含与此产品相关的所有属性标识符的concat列表。但我的问题是排序,concat列表以手动指定的顺序包含所有标识符,但这对结果的顺序没有影响

如何使用concat列表来标识订单

查询示例:

SELECT * FROM attributes WHERE attribute_id IN(products.product_attributes)

感谢@Raymond Nijland,更少的黑客解决方案:

   SELECT DISTINCT attributes.* FROM attributes, products 
    WHERE EXISTS(SELECT 1 FROM products WHERE 
    FIND_IN_SET(attribute_id, product_attributes) IS NOT NULL);

加入如何解决我的订购问题?这是如何“脱离主题”并获得否决票的?为什么不是最好的设计?我不想创建额外的表,所以我认为这是能够轻松使用IN()的唯一方法。我只想为1-many存储关系数据?你不能在字符串字段中使用。感谢各位,这是一个完美的工作,太多我不知道的mysql函数,需要阅读罕见的函数