MS SQL 中一个表的多个字段对应另一个表的同一个字段如何效率查询?

陈呈 2011-09-22 06:10:53
[size=18px]表A
id name StateA StateB StateC StateD
1 陈 1 2 3 4
表B
id statename
1 提交中
2 开始
3 准备
4 结束
请问大大们如何效率的查询出这样的结果?
id name StateAName StateBName StateCName StateDName
1 陈 提交中 开始 准备 结束

我自己有种方案可是我觉得效率都不是很高
1.子查询
select id,name,(select statename from B where B.id=A.id)...from A
2.LEFT JOIN
select * from A
LEFT JOIN B b1 on a.id=b1.id
LEFT JOIN B b2 on a.id=b2.id
......
我觉得效率都不好很高的啊···如果我对应的字段少的话·还可以·如果我A表中很多字段对应B表的话···那效率就没那么好了吧···
请问大大们有什么好的方法解决吗?
[/size]
...全文
137 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2011-09-22
  • 打赏
  • 举报
回复
用连接查询吧 还可以利用到索引
dawugui 2011-09-22
  • 打赏
  • 举报
回复
就是你那两种查询方法,其效率基本上差不多.
-晴天 2011-09-22
  • 打赏
  • 举报
回复
你这个就是个行转列,效率么,也就那样了,你知道的.
Mr_Nice 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 geniuswjt 的回复:]

不晓得了,貌似就这样连的了,肯定用第2种
[/Quote]


用连接。。。
geniuswjt 2011-09-22
  • 打赏
  • 举报
回复
不晓得了,貌似就这样连的了,肯定用第2种

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧