我有一种情况,我必须使用 EAV 表设计。
我有以下两张表。
节点
id name structure_id
1 name 1 7
2 name 2 7
属性
id node_id name value structure_id
1 1 firstname test 7
2 1 lastname test 7
3 2 firstname test 7
我有以下查询
SELECT n.*, GROUP_CONCAT( CONCAT_WS('||', a.name, a.value) ORDER BY a.name SEPARATOR ';;' ) as _attributes
FROM nodes n JOIN attributes a ON n.structure_id = a.structure_id where n.structure_id = 7
上面的查询输出以下内容(只有一行)
id: 1
name: name 1
structure_id: 7
_attributes: firstname||test;;firstname||test;;firstname||test;;firstname||test;;lastname||test;;lastname||test
如何使其从节点表中输出两行以及属性中的行?