我需要提出一个我发现有点复杂的查询。
这是我的数据库结构:
用户将添加/输入过滤器,并根据过滤器显示相应的杂志和报纸收藏。
可能的过滤器是:
那么,假设用户输入了一个名称,两个日期,杂志和报纸以及只有已经分析的集合,查询将如何?我想显示收集日期,报纸/杂志的名称,来自和日期。 我一直试图弄清楚查询,但我有点挣扎。
有人有建议吗?希望一切都清楚:)
谢谢!
答案 0 :(得分:1)
SELECT m.name as mag_name,
n.name as news_paper_name,
c.fromDate,
c.toDate
FROM Collections AS C
INNER JOIN Target AS T ON
C.TargetID = T.TargetID
INNER JOIN Magazine AS M ON
T.TargetID = M.id
INNER JOIN Newspaper AS N ON
T.TargerID = N.id
INNER JOIN Analysis AS A ON
C.CollectionID = A.CollectionID
这应该从连接的角度来看。我假设当某些东西被分析时,分析中有记录而不是分析时的记录。只需添加一个where子句以及您想要过滤的任何信息。