我遇到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
答案 0 :(得分:3)
您有两个名为Attendence2的表位于不同的数据库中。
SELECT * FROM [maw].[dbo].[Attendence2]
SELECT * FROM [master].[dbo].[Attendence2]
这些表包含不同的数据。
答案 1 :(得分:1)
可能在主数据库中创建了另一个表。查询看起来都一样,但实际上它们是不同的。
为了摆脱错误,我所做的是:
`
Use DatabaseName
GO
Select * From [SchemaName].[TableName]
`