`
zeyuphoenix
  • 浏览: 56002 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SQL面试题(六)

阅读更多

问题:

代码,名称

1     a

2     b

11    c

(代码11表示为1的下级)

通过一条句子,得出如下结果:

 

代码,名称,有无下级

1     a    

2     b    

11    c    

建立表:

Create table TabTest(t_Code varchar(10),t_Name varchar(10));
insert into TabTest values('1','a');
insert into TabTest values('2','b');
insert into TabTest values('11','c');

+--------+--------+

| t_Code | t_Name |

+--------+--------+

| 1      | a      |

| 2      | b      |

| 11     | c      |

+--------+--------+

Sql:

select tt1.t_Code,tt1.t_name,(       
       case               
	   when exists (select 1 from TabTest tt2                                          
	   where tt2.t_code like CONCAT(tt1.t_code,'%') and                                          
		tt2.t_code <> tt1.t_code )  
		then 'you'               
       		else 'wu'       
       end 
       ) as you_wu from TabTest  tt1;

 

+--------+--------+--------+

| t_Code | t_name | you_wu |

+--------+--------+--------+

| 1      | a      | you    |

| 2      | b      | wu     |

| 11     | c      | wu     |

+--------+--------+--------+

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

Global site tag (gtag.js) - Google Analytics