У меня есть стол, который называется Листья.Поля:
* LeaveID
* PersonID
* ActingPersonID
В таблице Персона у меня есть
* PersonalID
* EmployeeCode
* PersonName
Теперь в таблице данных мне нужно показать,
* PersonEmployeeCode
* PersonName
* ActingPersonEmployeeCode
* ActingPersonName
Сейчас,Я знаю, как написать SQL Join, чтобы заполнить данные.Но проблема в том, что в некоторых случаях не будет действующего лица.В этом случае мне нужно отобразить данные:
* PersonEmployeeCode = 0001
* PersonName = John
* ActingPersonEmployeeCode = -
* ActingPersonName = No acting Person
Теперь я застрял здесь.Как сделать оператор условного соединения?
Мне действительно нужна быстрая помощь по этому вопросу ...
Кодирование базы данных
SELECT dbo.LeavesManager.leaveID, dbo.LeavesManager.PersonalID, dbo.PersonalDetails.EMPNO, dbo.PersonalDetails.NAMIN,
dbo.LeavesManager.actingPersonalID
FROM dbo.LeavesManager INNER JOIN
dbo.PersonalDetails ON dbo.LeavesManager.PersonalID = dbo.PersonalDetails.PersonalID
Возвраты,
1 25 ACA01 Neranjan Manoj 26
2 25 ACA01 Neranjan Manoj 0
3 26 ACA06 A. N. M. K. Waruni 0
SELECT dbo.LeavesManager.leaveID, dbo.LeavesManager.PersonalID, dbo.PersonalDetails.EMPNO, dbo.PersonalDetails.NAMIN, dbo.LeavesManager.actingPersonalID,
PersonalDetails_1.EMPNO AS Expr1, PersonalDetails_1.DESIG
FROM dbo.LeavesManager INNER JOIN
dbo.PersonalDetails ON dbo.LeavesManager.PersonalID = dbo.PersonalDetails.PersonalID INNER JOIN
dbo.PersonalDetails AS PersonalDetails_1 ON dbo.LeavesManager.actingPersonalID = PersonalDetails_1.PersonalID
Возвращает,
1 25 ACA01 Neranjan Manoj 26 ACA06 TELE-Arcade Staff
Когда нет действующего лица от имени лица, которое применяет отпуск, пользователь выбирает значение по умолчанию из выпадающего списка, где ActingPersonEmployeeCode = 0 & ActingPersonName = "Нет действующего лица".
Теперь проблема в том, что в таблице PersonalDetails нет реального человека.Таким образом, записи не заполняются для ActingPersonEmployeeCode = 0.