我有四个表。带条件的SQL Server查询
- 司机考勤
- 驾驶员信息
- Vechile详细
- 预订详情
我想要写根据某些条件的查询。
无论何时驾驶员将绑定,然后它将根据分配给驾驶员的车辆绑定。并且只有该司机才会进入下拉列表,这些列表并非每周关闭,他们也不在我将发送的特定日期上。
tblDriverInformation
列是:1)ID 2)每周关闭tblDriverAttendance
柱---> 1)Driverid 2)留下自日期3)离开日期Driver Id
是常见于上表中。tblVehicle
列是---> 1)分配给>驱动器(这是常见于上表)2)IDtblBooking
柱---> 1)车辆ID 2)从日期开始时间3)结束日期与时间tblVehicle
和tblBooking
(在表ID和车辆ID是公用密钥)
我准备一个查询,但它是不会放弃的权利,但因为我不理解怎么放tblDriverInformation
和tblDriverAttendance
条件。
我的查询是:
select
A.id,
(C.FName + '-' + C.LName) as Car_Driver
from
tblVehicle A
inner join
tblDriverInformation C on A.CarId = C.id
where
A.id not in (SELECT VehicleId
FROM tblBooking
join tblVehicle on C.id = A.AssignedDriver
WHERE A.id = @vechileid
and Convert(datetime,@FromDateWithStartTime) --start date
BETWEEN FromDateWithStartTime AND ToDateWithEndTime
OR Convert(datetime,@ToDateWithEndTime) --endDate
BETWEEN FromDateWithStartTime AND ToDateWithEndTime
or FromDateWithStartTime
BETWEEN Convert(datetime,@FromDateWithStartTime) -- startdate
AND Convert(datetime,@ToDateWithEndTime) -- enddate
or ToDateWithEndTime
BETWEEN Convert(datetime,@FromDateWithStartTime) -- start date
AND Convert(datetime,@ToDateWithEndTime) -- enddate
请澄清你的问题,什么样的数据集你的实际需要在查询 –