2014-01-29 146 views
-1

我面临的SQL查询问题我有两个查询,我认为它们是相同的,但他们给不同的结果(行数)。可以请任何相同的Sql查询给出不同的结果

一个查询为:(以下查询行,其中状态=“缺席”没有显示)

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

是什么'SELECT DB_NAME()'返回? – Anon

+0

SELECT DB_NAME()returns master 我刚刚发现,当我使用[maw]。[dbo]。[Attendence2]而不是Attendence2时,我得到了正确的结果,可以请这个吗? –

+3

也许主数据库中有一个表“Attendence2”? (不包含相同的数据) – cubitouch

回答

1

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

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

` 
Use DatabaseName 
GO 

Select * From [SchemaName].[TableName] 
` 
3

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

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

这些表包含不同的数据。

相关问题