CREATE TABLE #TMPLOCALE(key_val NVARCHAR(255),value NVARCHAR(255),locale NVARCHAR(2000),source_value NVARCHAR(255),module NVARCHAR(255))
DECLARE @key NVARCHAR(255)
DECLARE @value NVARCHAR(255)
DECLARE @source_value NVARCHAR(255)
DECLARE @module NVARCHAR(255)
DECLARE C1 CURSOR LOCAL FAST_FORWARD FOR
WITH cte
AS
(
SELECT key_value,value,ROW_NUMBER() OVER(PARTITION BY key_value ORDER BY VALUE DESC) slno,source_value,module
FROM (SELECT DISTINCT key_value,CASE WHEN locale = 'en-us' THEN CAST(text_value AS NVARCHAR(2000)) ELSE NULL END AS VALUE,source_value,module
FROM localization l1 (NOLOCK)
WHERE l1.product = 'TC'
AND l1.locale IN (SELECT DISTINCT REPLACE(iso_code,'_','-')
FROM lang (NOLOCK)
WHERE iso_code LIKE '%[_]%' AND iso_code NOT IN ('en_ca','en_in','en_za', 'en_au')
UNION ALL
SELECT 'ar'
)
-- and l1.key_value = 'com.ceb.shl.shlonline.model.MessageFeeds.message.7'
)tbl
)
SELECT key_value,value,source_value,module FROM cte WHERE slno = 1
OPEN C1
FETCH NEXT FROM C1 INTO @key,@value,@source_value,@module
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO #TMPLOCALE(key_val,value,locale,source_value,module)
select @key,@value,
STUFF((
select ', ' + locale FROM(SELECT DISTINCT locale
FROM localization (NOLOCK)
WHERE locale IN (SELECT DISTINCT REPLACE(iso_code,'_','-')
FROM lang (NOLOCK)
WHERE iso_code LIKE '%[_]%' AND iso_code NOT IN ('en_ca','en_in','en_za', 'en_au')
UNION ALL
SELECT 'ar')
AND product ='TC'
EXCEPT
SELECT locale
FROM localization (NOLOCK)
WHERE locale IN (SELECT DISTINCT REPLACE(iso_code,'_','-')
FROM lang (NOLOCK)
WHERE iso_code LIKE '%[_]%' AND iso_code NOT IN ('en_ca','en_in','en_za', 'en_au')
UNION ALL
SELECT 'ar'
)
AND key_value = @key
AND product ='TC'
) tbl ORDER BY locale FOR XML PATH('')),1,1,''),@source_value,@module
FETCH NEXT FROM C1 INTO @key,@value,@source_value,@module
END
CLOSE C1
DEALLOCATE C1
SELECT * FROM #TMPLOCALE where locale IS NOT NULL
↧