问题描述
我有一个car
表。并且car
与具有优先级的服务有关系,可以对其进行修复。
我拥有可以car
提供服务的服务层次。
- 这可能是与汽车直接相关的服务
- 可以是位于汽车所在城市的服务
- 这可以是位于汽车所在国家的服务
- 它可以是默认服务。
而且我需要根据服务的层次结构来订购汽车。
例如,我有car
表,例如:
ID Name
-----------
1 Toyota
2 Tesla
3 Ford
direct_service
表:
CAR_ID NAME PRIORITY
---------------------------
1 B_SERVICE 0
1 C_SERVICE 1
location_service
表(位置优先级表示城市(0)比国家(1)更重要):
CAR_ID NAME LOCATION_PRIORITY PRIORITY
---------------------------------------------------------
1 TOYOATA_CITY_SERVICE 0 0
2 B_SERVICE 0 0
2 TESLA_CITY_SERVICE 0 1
2 A_SERVICE 1 0
default_service
表:
CAR_ID NAME PRIORITY
---------------------------
3 A_SERVICE 0
3 B_SERVICE 1
我想编写和sql脚本,它将通过其服务选择所有汽车订单。 由于存在表值的示例,我希望在脚本执行后查看下一个结果:
ID Name
-----------
3 Ford
1 Toyota
2 Tesla
我想下这样的订单,因为:
- 福特拥有下一个服务阵列:A_SERVICE,B_SERVICE(来自
default_service
,福特没有任何直接服务或定位服务) - 丰田具有下一个服务数组:B_SERVICE,C_SERVICE(由于服务层次结构,未考虑来自
direct_service
的其他服务) - 特斯拉拥有下一个服务阵列:B_SERVICE,TESLA_CITY_SERVICE(来自
location_service
,国家/地区服务未考虑在内,因为城市更重要)
请帮助我为该订单任务构建sql脚本
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)