2017-09-27 46 views
0

兩個SQL查詢我一直在今早嘗試了幾個小時左右兩個接入(接入365)查詢組合成一個語句,因此我可以運行它關閉的報告。我已經閱讀了論壇,並嘗試過各種組合,但無法讓他們工作。我不是一個SQL大師,並想知道,如果有人可以幫助,並指出我要去哪裏錯了。結合在Access

我有一個表(數據),它有2分相關列 審計的用戶名,出席參考名稱, 訂單被創建它會記錄每一次, 如果是電子的用戶名是「滴」如果手動輸入它獲取登錄的用戶名。

我想要的是每個請求者的一行,第一列是請求者名字(Attendance Ref Name),第二列是請求者出現的次數(總請求數),第三列總數請求者使其電子(綜合電子請求數) 這樣我就可以生產出第4列由委託

我有什麼工作是兩個查詢

工作STATMENTS(寫在這麼告訴我的電子請求的百分比記事本 - 我省略了 - 線接入):

--Total number of unique requests per requester 
    SELECT DISTINCT Data.[Attendance Ref Name], Count(Data.[Attendance Ref Name]) AS [Total Number of requests] 
    FROM Data 
    GROUP BY Data.[Attendance Ref Name] 

--Total Number of unique requester received electronically per Requester. 
    SELECT DISTINCT Data.[Attendance Ref Name], Count(Data.[Attendance Ref Name]) AS [Total Number of Electronic requests]FROM Data WHERE (((Data.[Audit Username])="DRIP")) 
    GROUP BY Data.[Attendance Ref Name]; 

我曾嘗試:

SELECT DISTINCT Data.[Attendance Ref Doctor Name], Count(Data.[Attendance Ref Doctor Name]) AS [Total Number of requests]FROM Data 
    UNION 
    SELECT DISTINCT Data.[Attendance Ref Doctor Name], Count(Data.[Attendance Ref Doctor Name]) AS [Total Number of Electronic requests]FROM Data WHERE (((Data.[Audit Username])="DRIP")) 
    GROUP BY Data.[Attendance Ref Doctor Name]; 

SELECT 
    (SELECT DISTINCT Data.[Attendance Ref Doctor Name], Count(Data.[Attendance Ref Doctor Name])FROM Data) AS [Total Number of requests], 
    (SELECT DISTINCT Data.[Attendance Ref Doctor Name], Count(Data.[Attendance Ref Doctor Name])FROM Data WHERE Data.[Audit Username]="DRIP")AS [Total Number of Electronic requests] 

我甚至已經通過https://www.w3schools.com/sql/default.asp教程

,但我不能讓他們禾請任何能夠幫助的人,讓我擺脫苦難? 在此先感謝您的幫助

回答

0

你需要使用一個連接到結果,從你的第一個和第二個查詢鏈接在一起。

假設所有裁判的名字都表格中,你可以使用以下命令:

SELECT q1.[Attendance Ref Name], q1.[Total Number of requests], q2.[Total Number of Electronic requests] 
FROM (
    SELECT DISTINCT Data.[Attendance Ref Name], Count(Data.[Attendance Ref Name]) AS [Total Number of requests] 
    FROM Data 
    GROUP BY Data.[Attendance Ref Name] 
) AS q1 
INNER JOIN (
    SELECT DISTINCT Data.[Attendance Ref Name], Count(Data.[Attendance Ref Name]) AS [Total Number of Electronic requests]FROM Data WHERE (((Data.[Audit Username])="DRIP")) 
    GROUP BY Data.[Attendance Ref Name] 
) AS q2 
ON q1.[Attendance Ref Name] = q2.[Attendance Ref Name] 
+0

HI埃裏克,有沒有一種方法來顯示所有值的查詢,也就是說,如果一個請求不是招」的第一部分t提出任何電子請求,它顯示爲0?或者這是另一個連接? – Craig

+0

如果你有一個表,顯示所有裁判的名字,你可以使用它作爲第一個表,並從中選擇名稱,然後再加入用'左JOIN'兩個表吧。然後,所有缺少的條目將有'Null',而不是0,但可以使用零替換''Null' NZ(MyField的,0)' –