2015-10-20 76 views
0

我有2張表(具有不同的字段):過濾掉非現有項目

  • tbl_Report(UIN,GID,RDATE,RTS_A)>(UIN =獨特NR)
  • tbl_Employee(GID,SNAME ,的gname,Org_Cd)>(GID =唯一的8字符串)

鏈路是1對多基於GID

tbl_Report:每個僱員(GID)生成每月一個或多個報告(RTS_A = SR ,IR或OR)每種類型

我要創建2個查詢:

  • (1)所有員工,讓我可以看到哪些員工提供特定類型 多少報告,每個月,即使員工沒有輸入報告所有.. RTS_A WHERE [進入VALD RTS_A] 年([RDATE])其中[進入新年]

  • (2)員工的概述(按報告類型選擇RTS_A)誰沒't 提交給定年份的報告(Rdate) RTS_a WHERE [輸入Vald RTS_a] 年([Rdate])其中[輸入年份]

  • 問題是我不知道如何獲得其中的員工,誰沒有輸入數據所有... 我試過在RTS_a下的查詢條件:[輸入一個有效的RTS_a]「」或[輸入一個有效的RTS_a]是空的 ,但似乎並沒有工作 (&不知何故,當我嘗試使用: WHERE NOT IN的WHERE NOT EXISTS)

  • 作爲非英語爲母語接入初學者...(和完全失去了...) 我可以使用一些這方面的幫助....

回答

0

您必須使用outer join。在你的查詢中,在設計模式下,你應該有兩個表,並且在tbl_Employee.GID和tbl_Report.GID之間有一個鏈接。 。
雙擊鏈接(或右鍵單擊並選擇加入屬性),然後單擊選項2或3(一說你希望所有的員工及配套報告


編輯:爲點(2),你必須爲那些在[Enter Year]中輸入DID的人進行查詢,然後進行另一個查詢,「外部加入」Employees and EmployeesWithoutDataInYearX WHERE EmployeesWithoutDataInYearX.employeeId is Null

+0

我確實來過那麼遠,儘管我Google搜索了一下,我想我也需要一個子查詢... 我的查詢現在看起來像: TRANSFORM Count(tbl_Report.RTS_a)AS CountOfRTS_a SELECT tbl_Employee.GID,Count(tbl_Report.GID)AS [每年的GID總數] FROM tbl_Employee LEFT JOIN tbl_Report ON tbl_Employee.GID = tbl_Report.GID WHERE(((Year([Rdate]))= [enter Year] )AND((tbl_Report.RTS_a)= [輸入有效的RTS_a])) GROUP BY tbl_Employee.GID PIVOT格式([RDate],「mmm」)在(「Jan」,「Feb」,「Mar」,「Apr 」, 「五一」, 「君」, 「月」, 「月」, 「月」, 「月」, 「月」, 「月」); 但子查詢....我認爲是真正的問題... :( – Johan