有表4张

建表和插入数据sql

DECLARE @p_Building TABLE
(
id INT ,
BidName NVARCHAR(20)
);
DECLARE @p_Room TABLE
(
id INT ,
RoomNo INT ,
RoomArea INT ,
Bidid INT
);
DECLARE @p_Customer TABLE
(
id INT ,
CstName NVARCHAR(20) ,
CstTel VARCHAR(20) ,
CstSex NVARCHAR(5)
);
DECLARE @p_Cst2Room TABLE
(
id INT ,
RoomID INT ,
CstID INT ,
CstNO INT
);
INSERT INTO @p_Building( id, BidName ) VALUES ( 1, N'四栋' );
INSERT INTO @p_Building( id, BidName ) VALUES ( 2, N'一栋' );
INSERT INTO @p_Building( id, BidName ) VALUES ( 3, N'二栋' );
INSERT INTO @p_Building( id, BidName ) VALUES ( 4, N'三栋' ); INSERT INTO @p_Room( id, RoomNo, RoomArea, Bidid ) VALUES ( 1, 101, 80, 1)
INSERT INTO @p_Room( id, RoomNo, RoomArea, Bidid ) VALUES ( 2, 102, 80, 2)
INSERT INTO @p_Room( id, RoomNo, RoomArea, Bidid ) VALUES ( 3, 103, 99, 3)
INSERT INTO @p_Room( id, RoomNo, RoomArea, Bidid ) VALUES ( 4, 104, 87, 4) INSERT INTO @p_Customer( id, CstName, CstTel, CstSex )VALUES ( 1,N'张三','',N'')
INSERT INTO @p_Customer( id, CstName, CstTel, CstSex )VALUES ( 2,N'李四','',N'')
INSERT INTO @p_Customer( id, CstName, CstTel, CstSex )VALUES ( 3,N'王五','',N'')
INSERT INTO @p_Customer( id, CstName, CstTel, CstSex )VALUES ( 4,N'赵六','',N'') INSERT INTO @p_Cst2Room( id, RoomID, CstID, CstNO )VALUES ( 1,1,1,1)
INSERT INTO @p_Cst2Room( id, RoomID, CstID, CstNO )VALUES ( 2,1,2,2)
INSERT INTO @p_Cst2Room( id, RoomID, CstID, CstNO )VALUES ( 3,1,3,3)
INSERT INTO @p_Cst2Room( id, RoomID, CstID, CstNO )VALUES ( 4,1,4,4)

要得到下面结果:

执行以下sql:

SELECT  A.BidName AS [楼栋名称] ,
B.RoomNo AS [房号] ,
( SELECT C.CstName + ','
FROM @p_Customer AS C
INNER JOIN @p_Cst2Room AS D ON C.id = D.CstID
AND D.RoomID = B.id
FOR
XML PATH('')
) AS [客户名称] ,
B.RoomArea AS [房间面积]
FROM @p_Building AS A
INNER JOIN @p_Room AS B ON A.id = B.Bidid; --AND A.id=1

要得到以下结果

SELECT  A.BidName AS [楼栋名称] ,
CHARINDEX(SUBSTRING(A.BidName, 1, 1), '一二三四五六七八九十') AS OrderNum ,
B.RoomNo AS [房号] ,
B.RoomArea AS [房间面积]
FROM @p_Building AS A
INNER JOIN @p_Room AS B ON A.id = B.Bidid
ORDER BY CHARINDEX(SUBSTRING(A.BidName, 1, 1), '一二三四五六七八九十');

sql按中文数字排序的更多相关文章

  1. SqlServer按中文数字排序

    表数据: 按名称排序 并不能得到一二三四五六的顺序 select * from LiWei order by name 找到中文数字在'一二三四五六七八九十'的位置 select id,name,SU ...

  2. mysql——中文数字排序的实现(FIELD)

    今天遇到一个需求,要求排序输出网格信息,但是数据是第三方对接插入的,并没有给我们排好顺序.所以只能自己动手了. 下图是原数据: 我们需要将其升序输出.使用mysql中的函数FIELD.语法如下: SE ...

  3. sql按照中文拼音排序

    select * from table order by convert(columnName using gbk) asc 注意:会导致全表扫描 建立冗余字段,插入数据时字段为convert(col ...

  4. Java字符串排序中文+数字

    编写日期: 2013年9月15日 另一中解法:点击查看 解决思路: 在Java中,排序需要复写的是 equals 方法 和 Comparable<T> 接口 的public int com ...

  5. SQL 用中文的拼音和笔画排序

    SQL 用中文的拼音和笔画排序   城市按拼音排序: SELECT chineseName FROM [表名] order by chinesename collate Chinese_PRC_CS_ ...

  6. JavaScript非数字(中文)排序

    直接上代码: var arr=[ {name:"张散步",age:"23",sports:"篮球",number:"231123& ...

  7. SQL SERVER 字符串按数字排序

    需求是这样的: 数据库表里面有一个字段类型是nvachar,存的值是数字和字符混合的,要实现先按数字排序,再按字母倒序. 思路: 考虑这个字段的值是否是有规律可循的,把要按数字排序的部分转换为数字,再 ...

  8. 【Teradata SQL】从中文数字字母混合字符串中只提取数字regexp_substr

    目标:从中文数字字母的字符串中只提取数字 sel regexp_substr('mint choc中文11国1','\d+')

  9. MySQL、Oracle、DB2等数据库常规排序、自定义排序和按中文拼音字母排序

    MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序. 下面给出3中比较常用的排序方式,mark一下 1.常规排序ASC DESC ASC 正序 ...

随机推荐

  1. SparkSQL中的自定义函数UDF

    在Spark中,也支持Hive中的自定义函数.自定义函数大致可以分为三种: UDF(User-Defined-Function),即最基本的自定义函数,类似to_char,to_date等 UDAF( ...

  2. js中数组的操作方法

    今天给大家带来一篇有关数组操作方法的文章. 新建数组 方法一:通过new运算符创建一个数组构造函数. var arr = new Array(); 方法二:通过方括号直接创建直接量数组. var ar ...

  3. Python 全栈开发:str(字符串)索引和切片

    str(字符串)索引和切片 str(字符串)索引: #计算机中大部分索引以0为开始 s = 'mylovepython' s1 = s[0] s2 = s[4] s3 = s[-1] print(s1 ...

  4. HDU 4508 湫湫系列故事——减肥记I

    原题链接:点击此处 解题思路: 思路与01背包差不多,思路用二维数组表示: dp[i][v]=max{dp[i-1][v-k*b[i]]+k*a[i]|0<=k*b[i]<=v} 其dp( ...

  5. 一个好用的ssh终端:MobaXterm

    WSL由于没有图形界面,所有操作都是在命令行里执行,平时用来编译和跑CFD代码其实还是挺方便.不过有时候要查看WSL里的文件就比较麻烦,这时可以用SFTP这类工具,连接过去后直接操作文件.试过几个这类 ...

  6. Jenkins 插件升级时跳过 update site 的签名验证

    当升级jenkins插件时,如果链接的update site用的自签名证书,可以用这个选项来启动Jenkins,来跳过签名验证:  -Dhudson.model.DownloadService.noS ...

  7. [转] ELK 之 Logstash

    [From] https://blog.csdn.net/iguyue/article/details/77006201 ELK 之 Logstash 简介: ELK 之 LogstashLogsta ...

  8. Universal-Image-Loader完全解析(下)

    Universal-Image-Loader完全解析(下) 在这篇文章中,我会继续跟大家分享有关于Universal-Image-Loader框架的相关知识,这次主要分享的是框架中图片缓存方面的知识. ...

  9. Mac OS 10.12后Caps lock(大写键)无法使用的解决办法

    ▲打开设置中的键盘选项,并切换至输入源选项标签, ▲取消勾选“使用大写锁定键来回切换“美国英文””, ▲这时再按下Caps lock即可正常使用大小写切换. ▲Update:目前macOS 10.12 ...

  10. Set up the environment for driver compiling in Debian

    1.check the kernel version $ uname -r --amd64 2.install the source code $ sudo apt-get install linux ...