首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

2道sql面试题.求解.(华为的)解决方法

2012-03-18 
2道sql面试题.求解.(华为的)发2道sql面试题.SQL code题一表tset字段valueA,valueBABBCCDDE问如何得到一个

2道sql面试题.求解.(华为的)
发2道sql面试题.

SQL code
题一表tset字段valueA,valueB     A       B     B       C     C       D     D       E问如何得到一个树形结构.E D C B A题二表tset字段Id, name,value     1  name1     2       2  name1     4      3  name2     5      4  name2     6      5  name2    10      6  name3     8问如何得到结果.name1,6,name2,21,name3,8  


[解决办法]
SQL code
--1、--> 测试数据:[tset]if object_id('[tset]') is not null drop table [tset]create table [tset]([valueA] varchar(1),[valueB] varchar(1))insert [tset]select 'A','B' union allselect 'B','C' union allselect 'C','D' union allselect 'D','E';with cte as(  select valueA from [tset] where valueB='e'  union all  select b.valueA from cte a inner join  [tset] b on a.valueA=b.valueB)select t.* from cte as t left join [tset] b on t.valueA=b.valueA/*valueA------DCBA*/
[解决办法]
SQL code
第一题看精华帖BOM第二题create table PP( id int identity(1,1) primary key, name nvarchar(30), [value] int )insert into PP select 'name1',2insert into PP select 'name1',4insert into PP select 'name2',5insert into PP select 'name2',6insert into PP select 'name2',10insert into PP select 'name3',8select name,sum([value]) [value] from PP group by nameselect * into UU from( select name,sum([value]) [value] from PP group by name) pselect * from UUcreate function dbo.Getstr()returns nvarchar(1000)as begin  declare @sql nvarchar(1000)  set @sql=''  select @sql=@sql+name+','+cast([value] as varchar(10)) from UU  return @sqlendselect dbo.Getstr()----------------------------------------------------------------------------------------------------------------name1,6name2,21name3,8(1 行受影响) 

热点排行
Bad Request.