我需要提出一个我发现有点复杂的查询。
这是我的数据库结构:
用户将添加/输入过滤器,并且根据过滤器,将显示相应的杂志和报纸收藏。
可能的过滤器是:
- 杂志/报纸名称
- 从日期
- 迄今为止
- 选择结果是否仅来自杂志或报纸或两者
- 集合是否已被分析
好吧,假设用户输入了名称、日期、杂志和报纸,并且只输入了已分析的集合,查询会是什么样子?我想显示收藏日期、报纸/杂志名称、起止日期。我一直在试图弄清楚查询,但我有点挣扎。
有人有建议吗?希望一切都清楚:)
谢谢!
我需要提出一个我发现有点复杂的查询。
这是我的数据库结构:
用户将添加/输入过滤器,并且根据过滤器,将显示相应的杂志和报纸收藏。
可能的过滤器是:
好吧,假设用户输入了名称、日期、杂志和报纸,并且只输入了已分析的集合,查询会是什么样子?我想显示收藏日期、报纸/杂志名称、起止日期。我一直在试图弄清楚查询,但我有点挣扎。
有人有建议吗?希望一切都清楚:)
谢谢!
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 子句和您想要过滤的任何信息。