我有一个有趣的查询,我想完成: 1.我有一个文章表[ArticleId,ArticleName] 2.文章有 ArticleCheckin (1:1)[ArticleId,CheckinName] 3.文章可以有多个 ArticleResources [ArticleResourceId,ArticleId,ResourceName]
我想编写一个查询,其中包含一个包含Checkin的文章列表(如果存在)以及同一查询中每篇文章的文章资源列表。 目前,我获取了文章,并且每个文章都会再次查询资源,这似乎不是正确的方法。
任何帮助都会很棒!
答案 0 :(得分:0)
AFAIK查询总是会给你一个扁平的结果。这意味着,为了获得文章列表和相应ArticleResources列表,您需要像现在一样遍历每篇文章。
但您并未说明您使用的是哪种技术,因此很难建议您如何改进查询/代码。
答案 1 :(得分:0)
此查询将为您提供包含或不包含签到的所有文章,但仅限于文章资源(否则为LEFT JOIN)。
SELECT A.*, AC.*, AR.*
FROM Article A
LEFT JOIN ArticelCheckin AC ON AC.ArticleId = A.ArticleId
INNER JOIN ArticleResources AR ON AR.ArticleId = A.ArticleId