日期:2014-05-17  浏览次数:20510 次

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]