大家看看可不可以用inner join

来源:百度知道 编辑:UC知道 时间:2024/07/04 02:47:27
有两个表tab1,tab2
tab1里有3个字段(编号,上一步姓名编号,下一步姓名编号)
TAB2里有2个字段(编号,姓名)
想查询出来的结果如下:
tab1.编号,上一步姓名,下一步姓名
请问这样的结果如何用inner join实现?
如果不能用inner join请写出效率最高的查询语句。谢谢!

多谢大家,问一下badkano:
在tab2里没有“上一步姓名”和“下一步姓名”那在这里(select tab1.编号,tab2.上一步姓名,tab2.下一步姓名 from)写“tab2.上一步姓名”不是要出错吗?

select t1.编号, t2a.姓名 as '上一步姓名', t2b.姓名 as '下一步姓名'
from tab1 t1 inner join tab2 t2a
on t1.上一步编号 = t2a.编号 inner join tab2 t2b
on t1.下一步编号 = t2b.编号
绝对正确,要是错的话我从此不用SQL Sever。

没搞懂你的意思!

你看这句是不是你要的

select tab1.编号,TAB2.编号,tab1.上一步姓名编号,tab1.下一步姓名编号 from tab1,TAB2 where tab1.编号 =TAB2.编号

或者:

select tab1.编号,TAB2.编号,tab1.上一步姓名编号,tab1.下一步姓名编号 from tab1 inner join TAB2 on tab1.编号 =TAB2.编号

哦,看错了,重新写一个
select tab1.编号,tab2.姓名 as 上一步姓名,tab2.姓名 as 下一步姓名 from tab1,tab2 where tab1.编号=tab2.编号 and tab1.上一步姓名编号=tab2.姓名 and
tab1.下一步姓名编号=tab2.姓名

有点头晕,不行的话再给你调试吧,先这样运行一下吧