У меня есть требование выбрать несколько данных из нескольких таблиц. Первая таблица содержит два столбца Paid From и Payer Code. В зависимости от Платного Отказа, я должен вернуть либо имя студента (из таблицы учеников), либо имя сотрудника (из таблицы сотрудников) или имя учетной записи (из таблицы счетов). Начиная с Now, я использовал оператор case в SELECT Query. Я хотел знать, можно ли это сделать в ЛЕВОЙ ВСТУПЛЕНИИ. Пожалуйста помоги!Как использовать CASE с операторами JOIN в SQL Server
SELECT RV.PayerCode ,
(SELECT CASE WHEN PaidFrom = 1
THEN (SELECT FullName
FROM Students
WHERE StudentID = RV.PayerCode
)
WHEN paidFrom = 2
THEN (SELECT AccountName
FROM Accounts
WHERE AccountNumber = RV.PayerCode
)
WHEN paidfrom = 3 THEN ''
WHEN paidFrom = 4
THEN (SELECT EmployeeName
FROM Employee
WHERE EmployeeID = RV.PayerCode
)
END
) AS PayerName
FROM dbo.Finance RV
Я предпочитаю СЛУЧАЙ вместо LEFT JOIN. Вы можете удалить первый вложенный SELECT –