首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

求一sql语句,或一个思路,

2012-04-26 
求一sql语句,或一个思路,急。。。在线等。。。提交页面中有三个下拉列表控件,绑定相同的数据源(同一个表中的数据

求一sql语句,或一个思路,急。。。在线等。。。
提交页面中有三个下拉列表控件,绑定相同的数据源(同一个表中的数据,这个表只有id,name两个定段),用户选择后分别将选择项的ID存到数据库的三个字段中

问题:前台显示页面,如何根据三个ID显示其对应的name(三个id源于同一个表),我的sql语句是这样写的


select tb1.*,
(select name from tb2 where tb2.id=tb1.id1) as name1,
(select name from tb2 where tb2.id=tb1.id2) as name2,
(select name from tb2 where tb2.id=tb1.id3) as name3

from
tb1

有朋友说这样写效率低,但哥们我不知道更高效率的写法,或,更好的解决方法

请大侠们鼎力相助,帮我解决一下,有什么更好的方法或有什么更好的sql语句的写法,,谢谢大家






[解决办法]
select tb1.*,T1.Name as name1,T2.Name as name2,T3.Name as name3
from tb1 inner join tb2 T1 on T1.id=tb1.id1
inner join tb2 T2 on T2.id=tb1.id2
inner join tb2 T3 on T3.id=tb1.id3


[解决办法]
兄弟,你的那个方法是子查询,子查询效率很低的。我的方法是内连接,集合操作,当然效率高多了
[解决办法]
select tb1.*,name as name1,name as name2,name as name3

from
tb1
这样部行吗?
[解决办法]

探讨
select tb1.*,name as name1,name as name2,name as name3

from
tb1
这样部行吗?

[解决办法]
select tb1.*,
(select name from tb2 where tb2.id=tb1.id1) as name1,
(select name from tb2 where tb2.id=tb1.id2) as name2,
(select name from tb2 where tb2.id=tb1.id3) as name3

from
tb1


这好像比表连接查询的效率要好


slect t.* ,t.nameaa as name1,t.nameaa as name2,t.nameaa as name3
from(
select tb1.*,
(select name from tb2 where tb2.id=tb1.id1) as nameaa

from
tb1
) as t

热点排行