2010-01-21 85 views
0

以下是我的查詢聯盟在SQL Server 2005

Select vehicleID from trip where (StartingDate between ''+ convert(varchar(10), @StartDate,111) +'' and ''+ convert(varchar(10), @EndDate,111)+'') 
or (enddate between ''+ convert(varchar(10), @StartDate,111) +'' and ''+ convert(varchar(10), @EndDate,111)+'') 
or(StartingDate <= @StartDate and enddate >= @EndDate) 
UNION 
Select vehicleID from VehicleMaintenance where (FromDate between ''+ convert(varchar(10), @StartDate,111) +'' and ''+ convert(varchar(10), @EndDate,111)+'') 
or (todate between ''+ convert(varchar(10), @StartDate,111) +'' and ''+ convert(varchar(10), @EndDate,111)+'') 
or (FromDate <= @StartDate and todate >= @EndDate) 
) as vehicle 

如何選擇從上面的查詢結果不同vehicleId ....

+0

嗯......使用聯合聲明應該只返回不同的記錄,是查詢失蹤的一部分? – Kane

回答

1

注意UNION將刪除重複項(而UNION ALL不會) ,所以你應該已經有唯一的車輛ID