我有两个名为Item and Property的数据库表:
Item
--------
item_id
title
Property
--------
property_id
item_id
property_value
每个项目都可以与任意数量的属性条目相关联。
是否有SQL / MySql查询可以返回Item数据及其相应属性数据在同一行中? (即我希望查询返回这些表中的所有数据,格式化为返回结果的每一行都包含特定项的所有Item和相关属性数据)
这可能吗?
答案 0 :(得分:1)
如果您不介意将结果放在一列中,您可以执行以下操作:
SELECT i.item_id,
group_concat(p.property_id, ':', p.property_value separator ';') as properties
FROM Item i INNER JOIN
Property p
ON i.item_id = p.item_id
GROUP BY i.item_id;
答案 1 :(得分:0)
寻找这个?:
SELECT *
FROM Item i INNER JOIN Property p
ON i.item_id = p.item_id
这将从两个表中投射item_id。如果要限制列,请从每个表中单独列出。