0

现在我有两个单独的查询来获得结果,但我想要一个查询。我正在使用 MS Access。

tblJournal          tblArticle      tblStatus
----------          ----------      ---------
JournalID           ArticleID       ID
JournalTitle        JournalCode     StatusName
JournalCode         StatusID       
Cancelled(yes/no)   Date
                    ArticleTitle
                    SignedDate

查询应该有:

tblJournal.JournalTitle, 
tblJournal.JournalCode, 
Year([tblArticle].[Date]), 
Count of articles per year which have a tblArticle.SignedDate, 
Count of articles per year with tblStatus.StatusName 'Published' and tblJournal.Cancelled NO.
4

1 回答 1

1

我认为这应该是您正在寻找的:

SELECT
  tblJournal.JournalTitle, 
  tblJournal.JournalCode, 
  Year([tblArticle].[Date]),
  Count(tblArticle.SignedDate) as Tot_Articles_Year,
  Sum(IIF((not tblJournal.Cancelled) and (tblStatus.StatusName='Published'),1,0)) as Tot_Published
FROM
  (tblJournal LEFT JOIN tblArticle
   ON tblJournal.JournalCode = tblArticle.JournalCode)
  LEFT JOIN tblStatus
  ON tblArticle.StatusID = tblStatus.ID
GROUP BY 
  tblJournal.JournalTitle, 
  tblJournal.JournalCode, 
  Year([tblArticle].[Date])
于 2012-12-04T13:45:01.477 回答