CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

这个sql语句该怎么写? 急急,在线等

楼主hard_blue(深蓝)2005-08-01 08:55:35 在 MS-SQL Server / 基础类 提问

表数据如下:  
  地区代码     地区名称     上级地区    
  01                   中国          
  02                   北京             01  
  03                   上海             01  
  04                   广州             01  
   
  现在要用一个select语句查询出来如下结果  
   
  地区代码     地区名称     上级地区   上级地区名称  
  01                   中国                                        
  02                   北京             01                     中国  
  03                   上海             01                     中国  
  04                   广州             01                     中国  
   
  请问如何写这个select语句???  
   
  问题点数:100、回复次数:5Top

1 楼wyb0026(小小)回复于 2005-08-01 09:00:57 得分 0

select   a.地区代码     a.地区名称     a.上级地区   ,b.地区名称   as   上级地区名称    
  from   tab   a   left   join     tab   b     on   a.上级地区=b.地区代码  
  Top

2 楼wangdehao(找找找(现在很幸福))回复于 2005-08-01 09:02:35 得分 0

select   a.*,b.地区名称   as     上级地区名称   from   table   a   left   join     table     b   on   a.上级地区=b.地区代码Top

3 楼tangqijun199(撒旦.冲上了5角还差一个猩猩,继续努力……)回复于 2005-08-01 09:04:28 得分 0

select   地区代码,地区名称,上级地区,(select   地区名称   from   t1   where   地区代码=a.上级地区)  
  as   上级地区名称   from   t1   aTop

4 楼wwwwb()回复于 2005-08-01 09:06:50 得分 0

select   a.*,b.地区名称   as     上级地区名称   from   t1   a   inner   join     t2     b    
  on   a.上级地区=b.地区代码  
  Top

5 楼vivianfdlpw()回复于 2005-08-01 09:16:39 得分 0

declare   @tb   table  
  (  
      [地区代码]   varchar(10),  
      [地区名称]   varchar(10),  
      [上级地区]   varchar(10)  
  )  
  insert   @tb  
  select   '01','中国',''   union  
  select   '02','北京','01'   union  
  select   '03','上海','01'   union  
  select   '04','广州','01'  
   
  --查询  
  select   *,  
                [上级地区名称]=isnull((select   [地区名称]   from   @tb   where   [地区代码]=t.[上级地区]),'')  
  from   @tb   t  
   
  select   a.*,[上级地区名称]=isnull(b.[地区名称],'')  
  from   @tb   a  
  left   join   @tb   b  
  on   a.[上级地区]=b.[地区代码]  
   
  --结果  
  /*  
  地区代码               地区名称               上级地区               上级地区名称            
  ----------   ----------   ----------   ----------    
  01                   中国                                          
  02                   北京                   01                   中国  
  03                   上海                   01                   中国  
  04                   广州                   01                   中国  
   
  (所影响的行数为   4   行)  
   
  地区代码               地区名称               上级地区               上级地区名称            
  ----------   ----------   ----------   ----------    
  01                   中国                                          
  02                   北京                   01                   中国  
  03                   上海                   01                   中国  
  04                   广州                   01                   中国  
   
  (所影响的行数为   4   行)  
  */  
  Top

相关问题

  • sql语句 急急
  • 急急,sql语句!
  • 请各位大虾帮我写个SQL语句,在线等,急急急急急急急急!
  • 请各位大虾帮我写个SQL语句,在线等,急急急急急急急急!
  • 求写sql语句?急急急。在线等待你的佳音。
  • sql查询语句问题?急!急!急!在线求救
  • 求一条select语句,急急急急急急急急急急急急急急急急急急急!!在线等!!
  • SQL语句的问题,急急急!
  • SQL语句问题。。急急急。。
  • 求写SQL 语句,,,急急急急急急, 请帮忙。。。

关键词

  • 代码
  • 语句
  • 中国
  • 上海
  • 上级
  • 地区
  • 名称
  • unionselect
  • tb
  • join

得分解答快速导航

  • 帖主:hard_blue

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo