0
SELECT
a.APOIT AS 'Item',
(SELECT SUBSTRING(LTRIM(RTRIM(Requisition)), 1, 6) as Requisition
FROM DBO_POLB015.db_datareader.CMSFIL_POLB15 as b
WHERE b.PONO = a.APONO and b.Item = a.APOIT) as 'Req',
REPLACE(REPLACE(REPLACE(REPLACE(ltrim(rtrim(a.AD30A)) +
CASE
WHEN STUFF((SELECT '; ' + (LTRIM(RTRIM(AI50A)) + LTRIM(RTRIM(AI50B)) + LTRIM(RTRIM(AI50C)))
FROM [DBO_CMSFIL].[dbo].[POTMDI]
LEFT OUTER JOIN [DBO_CMSFIL].[dbo].POTMDT ON POTMDI.APOIT = POTMDT.APOIT AND POTMDI.ADVNO = POTMDT.ADVNO AND POTMDI.ACONO = POTMDT.ACONO AND POTMDI.APONO = POTMDT.APONO
WHERE POTMDI.APONO = a.APONO and POTMDT.APOIT= a.APOIT
FOR XML PATH('')), 1, 1, '') IS NULL
THEN ''
ELSE STUFF((SELECT '; ' + (ltrim(rtrim(AI50A)) + ltrim(rtrim(AI50B)) + ltrim(rtrim(AI50C)))
FROM [DBO_CMSFIL].[dbo].[POTMDI]
LEFT OUTER JOIN [DBO_CMSFIL].[dbo].POTMDT ON POTMDI.APOIT = POTMDT.APOIT AND POTMDI.ADVNO = POTMDT.ADVNO AND POTMDI.ACONO = POTMDT.ACONO AND POTMDI.APONO = POTMDT.APONO
WHERE POTMDI.APONO = a.APONO and POTMDT.APOIT= a.APOIT
FOR XML PATH('')), 1, 1, '')
end,
'&',' & '),' ',''),''', '\'),'"', '\"') as Description,
a.AQTOR AS 'QtyOrdered',
A.AUM AS 'Units'
FROM
[DBO_CMSFIL].[dbo].[POTMDT] AS a
WHERE
a.APONO = '152988'
ORDER BY
a.APOIT
私は、次のメッセージを取得するとして使用する場合:!は認められない=、=、<, <= , >、> =または式
サブクエリが複数の値を返しました。 =、!=、<、< =、>、> =、またはサブクエリが式として使用されている場合は、これは許可されません。
どうすればこの問題を解決できますか?
サブクエリが複数の行を返す場合、結果としてどのような結果が必要なのかを最初に把握してから、その条件にしたがって修正する必要があります – Lamak