首页 > 解决方案 > 在内部连接表上执行内容时出错

问题描述

select
   distinct  
    stuff((
        select ',' + (select b.name from Department a inner join Names b on b.ID= a.ID).name
        from (select a.ID from Department a inner join Names b on b.ID= a.ID) asd
        where asd.ID= (select a.ID from Department a inner join Names b on b.ID= a.ID).ID
        for xml path('')
    ),1,1,'') as Namessss
from (select b.*,a.* from Department a inner join Names b on b.ID= a.ID) as NAM

我试图从另一个表中获取与 ID 对应的字符串。我曾经将这两个表内部连接起来,并尝试使用逗号分隔来填充它们。我执行了这个并且弹出了一个错误。

不能在 int 上调用方法。

是错误信息。

标签: .netsql-server

解决方案


尝试这个:

select
       distinct  
        stuff((
            select ',' + (select b.name from Department a inner join Names b on b.ID= a.ID).name
            from (select a.*,b.* from Department a inner join Names b on b.ID= a.ID) asd
            where asd.ID= NAM.ID
            for xml path('')
        ),1,1,'') as Namessss
    from (select a.*,b.* from Department a inner join Names b on b.ID= a.ID) as NAM

推荐阅读