我有一个工作正常的简单子查询
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;转换失败"错误
答案 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
放在子查询之外。
另请注意,表别名使查询更易于编写和阅读。