2 shuai wy shuai_wy 于 2017.09.12 19:29 提问

SQL关联同一个表中的两个字段,应该怎样关联? 1C

比如: 人员表中,有两个分类字段(人员分类,二级分类),都要去关联 分类表,这时候应该怎么关联
我只知道一种解决方案,就起起别名,关联两遍,还有其他解决方案吗?

 select t.name, c1.className,c2.className
 left join userClass c1 on t.classid = c1.id
 left join userClass c2 on t.class2id  = c2.id

5个回答

caozhy
caozhy   Ds   Rxr 2017.09.13 08:51

select t.name, c1.className,c2.className
left join userClass c1 on t.classid = c1.id and t.class2id = c1.id

qq_40221404
qq_40221404   2017.09.13 10:16

创建一个视图view,把两个表你要的字段都放进去。那样你就可以得到你要的关联。

gamst
gamst   2017.09.13 11:44

楼主自己的方案就是最佳的解决方案了啊

lmwk19890904
lmwk19890904   2017.09.13 15:59

select t.name, c1.className
left join userClass c1 on t.classid = c1.id
and t.class2id = c1.id

hyh086
hyh086   2017.11.15 22:15

你的语句不全,贴出来这句过不了分析吧, t在哪?

Csdn user default icon
上传中...
上传图片
插入图片