SQL子查询串联问题

时间:2016-10-18 02:12:53

标签: sql-server tsql

我有一个工作正常的简单子查询

SELECT id, Name, subset
 , (select count (1) from anotherTable where qid = someTable.id )
FROM someTable

值"子集"是一个字符串即: "和(PreQ1喜欢'%A%')和(PreQ2喜欢'%A%'或PreQ2喜欢'%C%') "

因此,我想将子查询与值子集进行ConCatenate,如下所示:

SELECT id, Name, subset
 , exec  ( 'select count (1) from anotherTable where qid = someTable.id ' + subset)
 FROM someTable

..但得到了#34;转换失败"错误

1 个答案:

答案 0 :(得分:1)

这是你想要的吗?

SELECT s.id, s.Name, s.subset,
       (select cast(count(1) as varchar(255)) + s.subset
        from anotherTable a
        where a.qid = s.id
       )
FROM someTable s;

这是子查询中的连接。您也可以将+ s.subset放在子查询之外。

另请注意,表别名使查询更易于编写和阅读。