Привязать к сетке, выбрав данные из двух разных таблиц? - 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 ]

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

Я решил свой ответ, спасибо за каждого, кто пытался мне помочь .... Я публикую свой ответ, чтобы он мог помочь в полной мере любому нуждающемуся ...

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

SELECT PTS_Employee.Emp_Username, PTS_Requests.Request_RequestedAmount, PTS_Requests.Request_Description, PTS_BalanceTracker.Balance_BalanceAmount, PTS_BalanceTracker.Balance_LastApproval, PTS_BalanceTracker.Balance_LastUpdated
FROM PTS_Employee  JOIN PTS_Requests  ON PTS_Employee.Emp_ID = PTS_Requests.Emp_ID 
JOIN PTS_BalanceTracker  ON PTS_BalanceTracker.Emp_ID = PTS_Requests.Emp_ID
JOIN PTS_Approval  ON PTS_Approval.Approval_ApprovedID  = PTS_Requests.Approval_ApprovedID
WHERE PTS_Approval.Approval_ApprovedBY = @ApproverName 

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

Попробуйте это:

SqlDataAdapter da = new SqlDataAdapter("select t1.EmpName,t2.EmpRqsts,t3.BalanceAmnt,t3.LastUpdated from EmpTable as t1,Requests as t2,Balance_tracker as t3 where t1.sno=t2.sno and t1.sno=t3.sno", conn);
            DataTable dt1 = new DataTable();
            da.Fill(dt1);
            GridView1.DataSource = dt1;
            GridView1.DataBind();
...