我正在使用现有的数据库,我有一个问题我知道你们SQL人员可以指出。我有2个表,on有一个项目ID和一个描述,另一个存储所有项目的元数据。
我的两张桌子就是这样......
items-
----------------
id | description
----------------
itemsmeta-
-----------------------------------------
itemmeta_id | item_id | fieldkey | value
-----------------------------------------
我需要做的是获得单个响应,希望作为基于给定项ID的对象或数组。所以我想说根据具体的项目ID获取所有元信息。
如果我这样做......
SELECT * FROM items LEFT JOIN itemsmeta ON itemsmeta.item_id = items.id WHERE items.id = 1
它返回约9行,第1项的每个元条目对应一行。是否可以构造我的查询以返回一个响应?
可能是这样的:
数组([0] => stdClass对象([ID] => 1 [名称] => Blah Blah [Meta 1] => Blah Blah [Meta 2] => Blah Blah))和等等?
答案 0 :(得分:1)
您可以使用 GROUP_CONCAT 功能
SELECT id, description, GROUP_CONCAT(value)
FROM items
LEFT JOIN itemsmeta ON items.id = itemsmeta.item_id
GROUP BY item.id;