有表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), '一二三四五六七八九十');

最新文章

  1. 在Windows上编译和调试CoreCLR
  2. 【.NET深呼吸】如何反序列化动态JSON
  3. JS trim
  4. bootstrap的学习-基础样式和排版一
  5. YII2.0 验证表单
  6. windows 64位 dll文件 位置及python包rtree shapely安装
  7. MyBatis——Mybatis缓存
  8. Use XML in Windows Phone 8.0
  9. Windows && Linux 双系统
  10. oracle drop table and purge
  11. centos7配置ip
  12. myeclipse的快捷键
  13. Go a lot of way but I go back to the original point
  14. [转]Understanding OpenStack Authentication: Keystone PKI
  15. 文件和IO流
  16. Feign api调用方式
  17. android 4.x环境搭建
  18. Java基础-String和StringBuilder类型(11)
  19. chrome 概述
  20. linux 实践到的命令 collection

热门文章

  1. C#生成验证码类
  2. pygame学习_part1_pygame写程序前的准备工作
  3. axiso 生产环境跨域配置(可用)
  4. C# string 特殊的引用类型
  5. spring boot快速入门 7: 使用aop处理请求
  6. iframe 解析
  7. WCF系列教程之WCF服务宿主与WCF服务部署
  8. Android对敏感数据进行MD5加密(基础回顾)
  9. Js 中的false,零值,null,undefined和空字符串对象
  10. 浅谈内存映射I/O(MMIO)与端口映射I/O(PMIO)的区别