我无法从SQL中的两个不同表中获取并连接两个行值。 请在附图中查看我的查询。 以下查询并未向我提供确切的数据
SELECT RequestNo+'::'+convert(varchar(200),(select count(RID)+1
from BDProjectProposal
Group by RID)) AS Number
FROM BDRequestorInfo
WHERE (RID = @RID)
有什么办法吗?
答案 0 :(得分:0)
你可以尝试下面的
SELECT RequestNo+'::'+convert(varchar(200),isnull((select count(RID)+1
from BDProjectProposal
Group by RID
having RID = @RID),1) AS Number
FROM BDRequestorInfo
WHERE (RID = @RID)
我只在Subselect中添加了WHERE子句(有RID = @RID),以确保只返回一个值。
您的subselect返回一个导致可能出现SQL错误的数据集
我修改了上面的查询并为NULL返回添加了ISNULL(....,1),没有给定@RID的行
答案 1 :(得分:0)
您应该使用相关子查询:
SELECT (RequestNo + '::' +
convert(varchar(200),
(select count(RID) + 1
from BDProjectProposal pp
where pp.RID = ri.RID)
)
)
) AS Number
FROM BDRequestorInfo ri
WHERE ri.RID = @RID;