В связи с “особенностями перевода” в SCSM, не всегда бывает понятно, что же имели ввиду разработчики, когда переводили тот или иной элемент. Переключаться между консолями не всегда удобно, да и долго. Поэтому я создал скрипт, который выводит все строки для 2х языков:
SELECT LTRusName.ElementName, LTEnuName.LTValue as EnuName, LTEnuDesc.LTValue as EnuDesc, LTRusName.LTValue as RusName, LTRusDesc.LTValue as RusDesc FROM (SELECT * FROM dbo.LocalizedText where LTStringType = 1 AND LanguageCode = 'RUS') AS LTRusName LEFT OUTER JOIN dbo.LocalizedText AS LTRusDesc ON LTRusName.LTStringId = LTRusDesc.LTStringId AND LTRusDesc.LanguageCode = LTRusName.LanguageCode AND LTRusDesc.LTStringType = 2 LEFT OUTER JOIN dbo.LocalizedText AS LTEnuName ON LTRusName.LTStringId = LTEnuName.LTStringId AND LTEnuName.LTStringType = 1 AND LTEnuName.LanguageCode = 'ENU' LEFT OUTER JOIN dbo.LocalizedText AS LTEnuDesc ON LTRusName.LTStringId = LTEnuDesc.LTStringId AND LTEnuDesc.LTStringType = 2 AND LTEnuDesc.LanguageCode = 'ENU'
Чтобы получить одно значение, достаточно добавить в запрос условие отбора:
SELECT LTRusName.ElementName, LTEnuName.LTValue as EnuName, LTEnuDesc.LTValue as EnuDesc, LTRusName.LTValue as RusName, LTRusDesc.LTValue as RusDesc FROM (SELECT * FROM dbo.LocalizedText where LTStringType = 1 AND LanguageCode = 'RUS') AS LTRusName LEFT OUTER JOIN dbo.LocalizedText AS LTRusDesc ON LTRusName.LTStringId = LTRusDesc.LTStringId AND LTRusDesc.LanguageCode = LTRusName.LanguageCode AND LTRusDesc.LTStringType = 2 LEFT OUTER JOIN dbo.LocalizedText AS LTEnuName ON LTRusName.LTStringId = LTEnuName.LTStringId AND LTEnuName.LTStringType = 1 AND LTEnuName.LanguageCode = 'ENU' LEFT OUTER JOIN dbo.LocalizedText AS LTEnuDesc ON LTRusName.LTStringId = LTEnuDesc.LTStringId AND LTEnuDesc.LTStringType = 2 AND LTEnuDesc.LanguageCode = 'ENU' WHERE LTRusName.LTValue like 'домен NE%'
В итоге вы получите вот такой результат: