精妙绝伦啊,精妙绝伦啊,大妙!
今天讨论到一个二级联动省和市在一个表中的情况,
这么一组数据,需要达成一个sql语句便能把省和市同时显示出来,愚绞尽脑汁思虑良久,未得有用之策,经同事提点,顿醍醐灌顶!
先来解释一下这串代码:
Select * from TBSpace inner join TBPlace oo on TBSpace.PrivaceId=oo.PlaceId inner join TBPlace tt on TBSpace.CityId=tt.PlaceId
TBSpace是我的用户信息表,里面存放的用户信息以及上面其省市的主键,
首先与TBPlace(地区表)连查,地区表这里需要取一个别名tt(因为要连接两次),第一次连查用地区表的PrivaceId在地区表中查询到省份,
其后再与TBPlace(地区表)连查一次,这次再去一个别名oo,第二次连查用地区表的CityId在地区表中查到市区,这样就可以实现一个列中的省市同时查在一行了。
最终效果如下!
查询更精确的信息可以把select后面的*改成要查询的信息实现精确查询。
标签:oo,tt,TBSpace,TBPlace,连查,精妙绝伦 From: https://www.cnblogs.com/xmcdm/p/16661301.html