有表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. ASP.NET:Application,Session,Cookie,ViewState和Cache之间的区别(转)

    在ASP.NET中,有很多种保存信息的对象.例如:Application,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么? 为了更清楚 ...

  2. Visual Studio进行负载测试,RIG和负载测试术语- Part II

    对于一个多用户的应用程序,性能是非常重要的.性能不仅是执行的速度,它包括负载和并发方面.Visual Studio是可以用于性能测试的工具之一.Visual Studio Test版或Visual S ...

  3. js 多个异步 的并发控制

    今天在群里看到一个人发的面试题: 1,请实现如下的函数,可以批量请求数据,所有的URL地址在urls参数中,同时可以通过max参数 控制请求的并发度.当所有的请求结束后,需要执行callback回调. ...

  4. Android事件分发和消费机制(转载)

    原文链接:http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.html Android 中与 Touch 事件相关的方法包括:dispatc ...

  5. Python离线安装依赖包

    1.制作requirement.txt pip freeze > requirement.txt 2.下载离线Pytho安装包 pip download -r requirement.txt - ...

  6. ubuntu工具安装

    smplayer sudo add-apt-repository ppa:rvm/smplayer sudo apt-get update sudo apt-get install smplayer ...

  7. HDU 5444 Elven Postman (2015 ACM/ICPC Asia Regional Changchun Online)

    Elven Postman Elves are very peculiar creatures. As we all know, they can live for a very long time ...

  8. WordNet::Similarity的安装和使用

    简介 WordNet::Similarity是一个Perl实现的软件包,可以用来计算两个概念(或者word sense)之间的语义相似度,它提供了六种计算相似度和三种计算概念之间关联度的方法,所有的这 ...

  9. [Mysql 查询语句]——查询字段

    查询所有字段     select  *  from  表名; 可以用 * 号代表所有字段 select * from vendors; +---------+----------------+--- ...

  10. CUBA-Platform将全面助力中国开发者

    关注CUBA的伙伴们,你们好! 今天我们有新的进展告诉大家. 九月十五日到十六日CUBA平台事业部负责人(同时也是Haulmont公司合伙人)专程来到中国与CUBA中国团队进行了两天时间的交流.讨论. ...