精妙绝伦

精妙绝伦啊,精妙绝伦啊,大妙!

今天讨论到一个二级联动省和市在一个表中的情况,

 

 这么一组数据,需要达成一个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后面的*改成要查询的信息实现精确查询。

posted @ 2022-09-06 11:59  小马吃代码  阅读(70)  评论(0)    收藏  举报