[英]Select statement within a select statement
我有以下選擇語句,返回的正是我想要的:
DECLARE @result varchar(max) = ''
SELECT @result += (result.Fullname + '<br/>')
FROM (SELECT DISTINCT Fullname
FROM Providers
WHERE Status='A') as result
select substring(@result, 0, len(@result) - 4)
唯一的問題是,我希望此查詢的輸出顯示為較大選擇語句中的列條目。
例如。
SELECT
Column AS [AColumnName],
SELECT @result += (result.Fullname + '<br/>')
FROM (SELECT DISTINCT Fullname
FROM Providers
WHERE Status='A') as result
select substring(@result, 0, len(@result) - 4) as [LenderList]
FROM
Table
但我目前遇到錯誤:關鍵字“ SELECT”附近的語法不正確。 指向第4行的錯誤
有任何想法嗎?
您需要在SQL Server中聚合字符串串聯。 子查詢上已經有很多答案,但是為您省去了麻煩:
SELECT Column AS [AColumnName],
STUFF((SELECT DISTINCT '<br/>' + Fullname
FROM Providers
WHERE Status = 'A'
FOR XML PATH (''), TYPE
).value('.', 'varchar(max)'
), 1, 5, ''
) as result
FROM Table;
類型的使用很重要,因為您的字符串具有特殊的XML字符。
您可以簡單地在2條語句中運行它嗎?
SELECT @result += (result.Fullname + '<br/>')
FROM (SELECT DISTINCT Fullname
FROM Providers
WHERE Status='A') as result
SELECT
Column AS [AColumnName],
substring(@result, 0, len(@result) - 4)
FROM Table
哪個數據庫? 如果可以用於xml,則類似...
select substring(a.innards, 0, len(a.innards) - 4) as [LenderList]
from
(
SELECT innards = STUFF(
(SELECT DISTINCT Fullname + '</br>'
FROM Providers
WHERE [Status] = 'A'
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)')
, 1
, 0
, '')
) a
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.