最近在做商旅机票平台,遇到这样一个问题:
有一张tt_ticket表,用来存机票信息,里边有一个字段叫schedule,表示的是行程,存储格式为:北京/虹桥
由于公司位于上海,而上海目前有两个机场:浦东和虹桥,所以对于出发地或到达地为上海的机票来说,行程中会存虹桥或浦东,当然,有时候可能也会直接存上海(可能性很小,但不代表没有)。这样,行程对于出发地为上海的行程来说,可能有以下几种可能:
a.虹桥/北京
b.浦东/北京
c.上海/北京
现在要实现搜索出发城市为上海时,把这三条信息全部拉出来。
首先,创建一张城市地区映射表tt_ticket_city_mapper,包含字段city和mapper_city,存储以下数据:
city | mapper_city |
---|---|
虹桥 | 上海 |
浦东 | 上海 |
上海 | 上海 |
下面先把sql贴出来,是mybatis中的部分代码:
select *
from tt_ticket
where 1=1