2012-02-29 45 views
1

我在我的數據庫中的兩個表命名...採購和它沒有關係平衡跟蹤....但我想從兩個表,並BINF它兩個格選擇數據...選擇查詢不從表中檢索數據?

要求

  EmpID |EmpRqsts|EmpDescription|ApproverID 
      1  |asdfsb |sadbfsbdf  |1 
      2  |asbfd |sjkfbsd  |1 

餘額跟蹤

  EmpId|BalanceAmnt|LastUpdated 
     | 1 |5000  |sdfbk 
     | 2 |3000  |sjbfsh 

EMPLOYEE表

 EmpId|EmpName 
     1 |Anil 
     2 |Raghu 

現在平衡跟蹤器具有EmployeeTable的ForeignKey列...我想要的是...將從[平衡跟蹤器]中的[請求]和[平衡安裝] [最後更新]中從EmpTable [EmpRqsts]中選擇[EmpName],並將其綁定到網格

這是我的存儲過程我使用的檢索數據

create procedure SP_GetEmployeeRequests 
    (@ApproverName varchar (50)) 
as 
begin 
    select 
     EmployeeDetails.Emp_Username, 
     RequestDetails.Request_Amount, 
     RequestDetails.Request_description, 
     BalanceTracker.Balance_Amount, 
     BalanceTracker.LastApproval, 
     BalanceTracker.LastUdated 
    from 
     EmployeeDetails, RequestDetails, BalanceTracker 
    where 
     EmployeeDetails.Emp_ID = RequestDetails.Emp_ID 
     and BalanceTracker.Emp_ID = RequestDetails.Emp_ID 
     and RequestDetails.Approved_ID = (select Approved_ID 
              from ApprovalDetails 
              where Approved_By = @ApproverName) 
end 

一切都很好,直到在這裏,但這個查詢只檢索列名。但tables..can任何一個沒有價值觀幫助我什麼是錯我的查詢..

回答

0

嘗試以下操作:

CREATE procedure SP_GetEmployeeRequests 
    (
     @ApproverName varchar (50) 
    ) 
    AS 
    BEGIN 

    SELECT ed.Emp_Username, rd.Request_Amount, rd.Request_description, bt.Balance_Amount, bt.LastApproval, bt.LastUpdated 
    FROM EmployeeDetails ed JOIN RequestDetails rd ON ed.Emp_ID = rd.emp_ID 
    JOIN BalanceTracker bt ON bt.Emp_ID = rd.Emp_ID 
    JOIN ApprovalDetails ad ON rd.Approved_ID = ad.Approved_ID 
    WHERE ad.Approved_By = @ApproverName 

    END 
    GO 
+0

同樣的問題它不是retrievn值 – 2012-02-29 11:21:48

0

我認爲錯誤是你正在檢查「Approved_ID」,而你的架構中有「Approver_ID」

create procedure SP_GetEmployeeRequests 
    (
    @ApproverName varchar (50) 
    ) 
    as 
    begin 
     select ed.Emp_Username 
      , rd.Request_Amount 
      , rd.Request_description 
      , bt.Balance_Amount 
      , bt.LastApproval 
      , bt.LastUdated 
      from RequestDetails rd 
      join BalanceTracker bt 
      on rd.Emp_ID = bt.Emp_ID 
      join EmployeeDetails ed 
      on rd.Emp_ID = ed.Emp_ID 
      join ApprovalDetails ad 
      on rd.Approver_ID = ad.Approver_ID 
     where ad.Approver_By = @ApproverName) 
    end 
    go 
+0

消息4104,級別16,狀態1,過程SP_GetEmployeeRequests2,行7 多部分標識符「EmployeeDetails.Emp_Username」不能被約束。 – 2012-02-29 11:21:26

+0

對不起,忘了替換一些表的別名。 – 2012-02-29 13:48:58