SqlCommand cmd = new SqlCommand(@"
SELECT
dbo.tblDepartment.Prefix,
dbo.tblQueue.QueueNumber,
dbo.tblEmployees.EmpName
FROM dbo.tblDepartment
INNER JOIN dbo.tblEmployees ON dbo.tblDepartment.EmpID= dbo.tblEmployees.EmpID
INNER JOIN dbo.tblQueue ON dbo.tblDepartment.DeptID = dbo.tblQueue.DeptID
WHERE tblDepartment.DeptID = 1
and tblQueue.QueueNumber in (SELECT
MIN(QueueNumber)
FROM tblQueue
WHERE tblQueue.QueueStatus = 'Pending')", con);
我有一个查询,它的列状态等于“待定”时获得最小值。但每当我将其状态更改为“完成”时,它会获得状态为“完成”而不是待处理的最小值。
答案 0 :(得分:0)
显然你的问题不在代码中,它可能是数据库的混合或类似的东西。
编辑:但是代码确实有问题:你需要在内部查询中指定DeptID,就像这样(here is a demo):
SELECT
dbo.tblDepartment.Prefix,
dbo.tblQueue.QueueNumber
FROM dbo.tblDepartment
INNER JOIN dbo.tblQueue ON dbo.tblDepartment.DeptID = dbo.tblQueue.DeptID
WHERE tblDepartment.DeptID = 2
and tblQueue.QueueNumber in
(
SELECT MIN(QueueNumber)
FROM tblQueue
WHERE tblQueue.DeptID = 2
and tblQueue.QueueStatus = 'Pending'
)