当前位置: 代码迷 >> Sql Server >> sql server 子查询回到的值不止一个
  详细解决方案

sql server 子查询回到的值不止一个

热度:12   发布时间:2016-04-27 11:34:22.0
sql server 子查询返回的值不止一个
SELECT [UserName] 用户名
,(SELECT
[C_Name] FROM CompanyList where C_UserID=[User].id) 包含公司名称
   
  FROM [User]
错误提示:子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。

我知道我这么写是错误的,但要怎么修改一下呢?
我要实现的效果是,在字段中显示所有用户所包含的公司,就如下面这样
用户名 包含公司名称
user1 公司1 公司2 公司3
user2 公司1 公司2 公司3
user3 公司1 公司2 公司3

------解决方案--------------------
SQL code
SELECT [UserName] 用户名,(SELECT [C_Name]+' ' FROM CompanyList where C_UserID=[User].id for xml path('')) 包含公司名称FROM [User]
  相关解决方案