Выберите Запрос Не получать данные из таблиц? - PullRequest
1 голос
/ 29 февраля 2012

У меня есть две таблицы в моей базе данных с именем ... Отслеживание запросов и баланса, которое не имеет никакого отношения .... но я хочу выбрать данные из двух таблиц и поместить их в две сетки ...

Запросы

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

Отслеживание баланса

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

Таблица сотрудников

      EmpId|EmpName
       1   |Anil
       2   |Raghu

Теперь в трекере баланса есть столбец ForeignKey столбца EmployeeTable ... Что я хочу ... хочу выбрать [EmpName] из EmpTable [EmpRqsts] из [Requests] и [BalanceAmnt] [LastUpdated] из [Balance Tracker] и связать его в сетку

Это моя хранимая процедура, которую я использую для извлечения данных

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

Пока все в порядке, но этот запрос извлекает только имена столбцов. Но не значения таблиц .. может ли кто-нибудь помочь мне, что не так в моем запросе ..

Ответы [ 2 ]

0 голосов
/ 29 февраля 2012

Я думаю, что ошибка в том, что вы проверяете «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 голосов
/ 29 февраля 2012

Попробуйте следующее:

    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
...