字段中的PHP MYSQL返回数组
我有点不知道怎么开始。我有一个属性名称表,然后是一个属性字段名称表。因此字段中的PHP MYSQL返回数组,php,mysql,Php,Mysql,我有点不知道怎么开始。我有一个属性名称表,然后是一个属性字段名称表。因此 **Table: attributes** id name **Table: attributes_fields ** id attrID fieldname 属性字段可以将多个记录附加到单个属性。我试图得到这样的输出 Name Fields (comma separated field id's) 9 1,3,4,5 到目前为止,我有这个 SELECT * FROM attributes
**Table: attributes**
id
name
**Table: attributes_fields **
id
attrID
fieldname
属性字段可以将多个记录附加到单个属性。我试图得到这样的输出
Name Fields (comma separated field id's)
9 1,3,4,5
到目前为止,我有这个
SELECT *
FROM attributes
LEFT JOIN attributes_fields on attributes.attributeID = attributes_fields.attributeFieldParentID
WHERE attributes.attributeID = 9
这很有效,但不是我想要的。我想退一行。以上命令将所有字段返回为多行
任何帮助都会很好
谢谢 您可以使用
GROUP\u CONCAT
功能执行此操作。
此函数返回一个字符串结果,其中包含组中连接的非空值。完整语法如下所示:
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
mysql> SELECT student_name,
-> GROUP_CONCAT(test_score)
-> FROM student
-> GROUP BY student_name;
或:
请在这里查看:我还想建议大家参加小组讨论。在您的查询中:
SELECT a.id as Name, GROUP_CONCAT( f.id SEPARATOR ',') as Fields
FROM attributes a
LEFT JOIN attributes_fields f on a.attributeID = f.attributeFieldParentID
WHERE a.attributeID = 9
它应该会给出您想要的结果。请显示PHP代码。请使用mysqli。它就像一个符咒!非常感谢你!
SELECT a.id as Name, GROUP_CONCAT( f.id SEPARATOR ',') as Fields
FROM attributes a
LEFT JOIN attributes_fields f on a.attributeID = f.attributeFieldParentID
WHERE a.attributeID = 9