SQL分组查询。 - MS-SQL Server / 疑难问题
一个表中数据如下
省(State)市(city) 区县(Distrinct)
山西省 大同 曹夫楼村、齐家坡村、梓家村、白马城村、马家小村
山西省 忻州 忻州市 下属原平市、符村广宇煤电、邮政信箱
山西省 忻州 定襄县
山西省 忻州 五台县
山西省 忻州 代县
山东省 青州 乡镇及村组
…………………………………………还有很多,全国各地的数据都在里面
我想得到这样的数据
省 市 区县
山西省 大同 曹夫楼村
山西省 大同 齐家坡村
山西省 大同 梓家村
山西省 大同 白马城村
山西省 大同 马家小村
山西省 忻州 原平市
山西省 忻州 符村广宇煤电
山西省 忻州 邮政信箱
山西省 忻州 定襄县
山西省 忻州 五台县
山西省 忻州 代县
山东省 青州 乡镇及村组
请问如何写?
SQL code:
--参考
拆分表:
--> --> (Roy)生成測試數據
if not object_id('Tab') is null
drop table Tab
Go
Create table Tab([Col1] int,[COl2] nvarchar(5))
Insert Tab
select 1,N'a,b,c' union all
select 2,N'd,e' union all
select 3,N'f'
Go
--SQL2000用辅助表:
if object_id('Tempdb..#Num') is not null
drop table #Num
go
select top 100 ID=Identity(int,1,1) into #Num from syscolumns a,syscolumns b
Select
a.Col1,COl2=substring(a.Col2,b.ID,charindex(',',a.Col2+',',b.ID)-b.ID)
from
Tab a,#Num b
where
charindex(',',','+
相关问答:
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......
现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......
我想查询出每天数据的最大的一个值。表的格式如下
表名: hisdata
字段 编号 值 状态 时间
Id value state dattime
101 32.3 0 ......
请教高手:
以下是数据库中的三条记录,英文为字段名称
id planname TaskBeginTime Status
329 2010年03 ......