我想要的查询超出了我的 SQL 知识范围,所以我希望在这里得到一些帮助。我想在 postgreSQL 9.2 中将多个表的关系合二为一。我知道程序,但我不知道 SQL。
有 4 个表将进入此查询:
- 愿望清单:与一个或多个清单相关联并且有首选商店
- list_wishlist:保存lists和wishlists的关系
- item:与列表相关联并具有首选商店
- prefered_stores:这保存了商店和首选商店之间的关系(每个首选商店是首选商店中的单独行。因此,如果一个项目或愿望清单有多个首选商店,则这些行的首选商店.id 将是相同的)
这些表看起来像这样(删除了不相关的列):
生成的表格如下所示:
让我解释一下结果表:
- item_id:就是这样,项目的 id
- item_stores_comments:存储/评论对来自与此项目关联的所有prefered_stores 行(商店/评论用逗号分隔,对用分号分隔)
- wishlist_stores:存储与该项目所在的列表相关联的心愿单的首选存储 ID(以逗号分隔)
我已经用上面示例表的实际结果填充了 item_info 表,所以我想应该很清楚,但如果你没有得到任何东西,请告诉我。
我已经按照评论中的建议创建了一个 SQLFiddle:http ://sqlfiddle.com/#!12/9fd60 它包含与图像中相同的架构和值。