【发布时间】:2012-02-29 09:10:33
【问题描述】:
我的数据库中有两个名为...请求和余额跟踪器的表,它们没有任何关系...但我想从两个表中选择数据并将其合并为两个网格...
请求
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
现在余额跟踪器有 EmployeeTable 的 ForeignKey 列...我想要的是从 [Requests] 中的 EmpTable [EmpRqsts] 和 [BalanceAmnt][LastUpdated] 中选择 [EmpName] 从 [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
到这里为止一切都很好,但是这个查询只检索列名。但不是表的值..任何人都可以帮助我在我的查询中有什么问题..
【问题讨论】:
-
为什么 Requests 没有 EmpId?它存储的是名称而不是 FK。两者都可以通过名称连接吗?
-
没有 Empname In 请求表是由员工通过文本框手动插入的..
-
没有 Empname In 请求表是由员工通过文本框手动插入的..
-
那么 Employee 表是如何需要的,因为您要从其他表中获取所有信息?您想在 Requests 和 Balance Tracker 之间进行交叉连接,因为它们彼此不相关?
-
请看我有其他表关联到员工表....现在他的登录上有一个批准者,基于数据应该绑定到网格...如果 ID=1 的批准者登录附加到他的 ID 的请求应该绑定到网格
标签: asp.net sql-server-2008 c#-4.0