查询无证件的车辆信息

Backcanhave7 数据分析师  2019-12-18 10:06:57
有两个表,一个是车辆表vehicle,一个是车辆证件表vehicle_papers

表主要字段说明:
车辆表主要有车辆id,公司id,车牌号一,车牌号二
车辆证件表主要有证件id,车辆id,证件类型,有效日期开始时间,有效日期截止时间

我要从这两个表中统计出A公司(A公司有对应的公司ID)的车辆中没有道路运输证的车辆信息、没有行驶证的车辆信息、没有批文证的车辆信息。

说明:
1)我用的SQL Server版本是2008 R2
2)一辆车可以有多个证件,所以车辆表和车辆证件表是一对多的关系
3)不使用union all
4)查询出的结果字段:车牌号一,车牌号二,证件类型,有效日期起止时间(例如:2019/12/13-2020/12/13)

哪位能指点一下、给些思路,谢谢!
...全文
78 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Backcanhave7 2019-12-20
多谢各位 !
回复
文盲老顾 2019-12-18
select 车牌号一,车牌号二,证件类型,有效日期开始时间,有效日期截止时间 from vehicle_papers vp with (nolock) left join vehicle v with (nolock) on v.车辆id=vp.车辆id where not exists(select top 1 1 from vehicle_papers with (nolock) where 证件类型='道路运输证')
回复
极客诗人 2019-12-18
车辆证件表 当主表然后左连接车辆表
回复
RINK_1 2019-12-18

SELECT 车牌号一,车牌号二,证件类型,有效日期,起止时间
FROM vehicle_papers A
JOIN vehicle B ON A.车辆id=B.车辆id
WHERE NOT EXISTS (SELECT 1 FROM vehicle_papers WHERE A.车辆id=车辆id AND 有效日期开始时间>='2019-12-13' AND 有效日期截止时间<='2020-12-13')
AND 公司id=A公司ID
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2019-12-18 10:06
社区公告
暂无公告