Я использую SQL SERVER 2008. Мой запрос выдаёт мне ошибки. Я хочу получить данные ИЛИ выполнить запрос из таблицы [DL_TRN]
. Если записи в этой таблице нет, я хочу получить данные из другой таблицы [D_Loan]
. Я использовал запрос:
DECLARE @DCount INTEGER;
SET @FCount=(SELECT COUNT(*) FROM [MsumCOOP].[dbo].[DL_TRN] WHERE [M_CODE]=6162 AND ([LOAN_COMP]<>'Y' OR [LOAN_COMP] IS NULL));
SELECT m.[CODE],m.[NAME],d.[OP_AMT]
FROM [MsumCOOP].[dbo].[MEMBER] m
FULL OUTER JOIN ( SELECT CASE WHEN @FCount>0 THEN (SELECT [M_CODE],[OP_AMT] FROM [MsumCOOP].[dbo].[DL_TRN] WHERE [LOAN_COMP]<>'Y' )
ELSE (SELECT [M_CODE],'F' AS [OP_AMT] FROM [MsumCOOP].[dbo].[D_Loan] WHERE [LOAN_COMP]<>'Y')
END
)
d ON m.[CODE]=d.[M_CODE]
WHERE m.code=6162
Вышеупомянутый запрос работает нормально, если я просто выбрал одно поле, например [M_CODE]
или count (в подзапросе при соединении части), но не работает для выбора нескольких столбцов.
Пожалуйста, помогите мне сделать этот запрос.