我有一个名为FieldList
的表,如下所示:
ElementName|Description|comp_id|FieldName
-----------------------------------------
Name | red | 1 | names
Name | blue | 7 | names
field | red | 1 | names
boxes | blue | 5 | blues
field | orange | 7 | reds
我想显示一个新表,该表仅显示相同的
ElementNames
,然后显示它们属于哪个comp_id
,因此如下所示:ElementName| comp_id| comp_id
-----------------------------
Name | 1 | 7
field | 1 | 7
它不必看起来完全像这样,但重点是我希望能够加入并显示相同但具有不同
ElementNames
的comp_id
。这是我已经拥有的少量sql代码,但显然不起作用。
SELECT a.comp_id, a.ElementName, b.ElementName
FROM FieldList a
INNER JOIN FieldList b ON a.ElementName = b.ElementName;
最佳答案
您似乎想要具有相同comp id的元素名称。如果是这样,可以这样使用group_concat()
:
select group_concat(elementname), comps
from (select fl.elementname, group_concat(fl.comp_id order by fl.comp_id) as comps
from fieldlist fl
group by fl.elementname
) en
group by comps;
实际上,这会产生带有两个列表的行:
Name,field 1,7
但这似乎包含您想要的信息。