Когда я перенес базу данных SQL Server в SQL Server 2012, у меня возникли проблемы с совместимостью для =*
, и я сказал, что он используется для правильного внешнего соединения и внесения изменений в код следующим образом:Ошибка совместимости SQL Server 2012 для = *
--OLD CODE
SELECT
EMPLOYEE_CODE 'EMPLOYEE CODE', MSKID 'MAERSKID',
isNull(FIRST_NAME,'') + ' ' + isNull(SECOND_NAME,'') + ' ' + isNull(THIRD_NAME,'') 'FULL NAME',
LM.LOCATION_NAME 'LOCATION', CM.COMPANY_NAME 'COMPANY',
DEPT.ACTIVITY_NAME 'DEPARTMENT',LVL.LEVEL_NAME 'LEVEL',
CARD_NUMBER 'CARD NO'
FROM
smart2uat.dbo.EMPLOYEE_MAST EMP, smart2uat.dbo.ACTIVITY_MAST DEPT,
smart2uat.dbo.LEVEL_MAST LVL, smart2uat.dbo.LOCATION_MAST LM,
smart2uat.dbo.COMPANY_MAST CM
WHERE
DEPT.ACTIVITY_CODE =* EMP.ACTIVITY_CODE AND
LVL.LEVEL_CODE =* EMP.LEVEL_CODE AND
LM.LOCATION_CODE =* EMP.LOCATION_CODE AND
CM.COMPANY_CODE =* EMP.COMPANY_CODE
и я изменил код, как
--NEW CODE IN SQL SERVER 2012
SELECT EMPLOYEE_CODE 'EMPLOYEE CODE', MSKID 'MAERSKID', isNull(FIRST_NAME,'') + ' ' + isNull(SECOND_NAME,'') + ' ' + isNull(THIRD_NAME,'') 'FULL NAME',
LM.LOCATION_NAME 'LOCATION', CM.COMPANY_NAME 'COMPANY', DEPT.ACTIVITY_NAME 'DEPARTMENT',
LVL.LEVEL_NAME 'LEVEL', CARD_NUMBER 'CARD NO' from
smart2uat.dbo.ACTIVITY_MAST DEPT right outer join smart2uat.dbo.EMPLOYEE_MAST EMP on DEPT.ACTIVITY_CODE = EMP.ACTIVITY_CODE ,
smart2uat.dbo.LEVEL_MAST LVL right outer join EMP on LVL.LEVEL_CODE = EMP.LEVEL_CODE,
smart2uat.dbo.LOCATION_MAST LM right outer join EMP on LM.LOCATION_CODE = EMP.LOCATION_CODE ,
smart2uat.dbo.COMPANY_MAST CM right outer join EMP on CM.COMPANY_CODE = EMP.COMPANY_CODE
Я не получаю ожидаемый результат, как старый код и новый код ошибки метания. Является ли это преобразование из старого кода в новый код правильным? Заранее спасибо
'и ошибка ввода нового кода. 'и где сообщение об ошибке? – lad2025
@ lad2025..Я действительно не знаю, действительно ли эта трансформация. И сообщение об ошибке - 'Неверное имя объекта 'EMP'' – METALHEAD
Я думаю, что ваша трансформация неверна. См. Мой ответ. – lad2025