相同的Sql Query给出了不同的结果

时间:2014-01-29 19:57:25

标签: sql sql-server

我遇到sql查询问题我有两个查询,我认为它们是相同的,但它们给出不同的结果(行数)。请可以

一个查询是:(在以下查询行中,status ='absent'未显示)

SELECT
EmpId,
convert(varchar(12),
Att_Date,101)as Date,
TimeIn1,
TimeOut1,
TimeIn2,
TimeOut2,
Shift,
Status,
Remark 
FROM 
Attendence2 WHERE EmpID='xyz' And (Att_Date BETWEEN '12/1/2013' AND '12/31/2013') AND BranchID='pqr'  ORDER BY Att_Date

另一个查询是:(在下面的查询中我得到了预期的结果,即所有行都出现了)

SELECT [EmpID]
  ,[Shift]
  ,convert(varchar(12),Att_Date,101)as Date
  ,[TimeIn1]
  ,[TimeOut1]
  ,[TimeIn2]
  ,[TimeOut2]
  ,[Status]
  ,[Remark]
 FROM [maw].[dbo].[Attendence2] where EmpID = 'xyz' and (Att_Date between '12/1/2013' and '12/31/2013') and BranchID = 'pqr' order by Att_Date 

2 个答案:

答案 0 :(得分:3)

您有两个名为Attendence2的表位于不同的数据库中。

SELECT * FROM [maw].[dbo].[Attendence2]
SELECT * FROM [master].[dbo].[Attendence2]

这些表包含不同的数据。

答案 1 :(得分:1)

可能在主数据库中创建了另一个表。查询看起来都一样,但实际上它们是不同的。

为了摆脱错误,我所做的是:

`
 Use DatabaseName
 GO

 Select * From [SchemaName].[TableName]
`