请有人帮忙解释我如何构建SQL查询以加入附加图像中的表格。我是网络新手数据库设计并且已经挣扎了好几天!! [tables] [1]
http://i44.tinypic.com/9863c0.jpg
它背后的想法是:可以有许多商店和许多产品,每个商店可以销售与其他商店相同的产品,因此需要名为“商店:产品”的表。我还将字段大小和颜色分解为2个其他表格,以节省空间并提高性能。如何将它们全部链接在一起,以便数据库服务器在查询特定商店ID时返回商店名称及其销售的产品(包括产品尺寸和颜色)?
谢谢! :)
答案 0 :(得分:0)
请查看:
SELECT s.name, p.name, si.size, c.colour
FROM shops s
INNER JOIN product sp ON (sp.shop_id = s.id)
INNER JOIN products p ON (p.prod_id = sp.prod_id)
INNER JOIN sizes si ON (si.id = p.size)
INNER JOIN colours c ON (c.id = products.colour)
示例2:
SELECT s.name, p.name,
GROUP_CONCAT(si.size) AS sizes,
GROUP_CONCAT(c.colour) AS colours
FROM shops s
INNER JOIN product sp ON (sp.shop_id = s.id)
INNER JOIN products p ON (p.prod_id = sp.prod_id)
LEFT JOIN sizes si ON (si.id = p.size)
LEFT JOIN colours c ON (c.id = products.colour)
GROUP BY s.id, p.id
重要注意事项: