77-- =============================================================================
88-- META-ELEMENT: {"type": "create_table"}
99-- =============================================================================
10+ IF OBJECT_ID (' tempdb..#ssd_disability' , ' U' ) IS NOT NULL DROP TABLE #ssd_disability;
1011
11- CREATE TABLE IF NOT EXISTS ssd_disability
12- (
13- disa_table_id VARCHAR (48 ) PRIMARY KEY , -- metadata={"item_ref":"DISA003A"}
14- disa_person_id VARCHAR (48 ) NOT NULL , -- metadata={"item_ref":"DISA001A"}
15- disa_disability_code VARCHAR (48 ) NOT NULL -- metadata={"item_ref":"DISA002A"}
16- );
12+ IF OBJECT_ID (' ssd_disability' , ' U' ) IS NOT NULL
13+ BEGIN
14+ IF EXISTS (SELECT 1 FROM ssd_disability)
15+ TRUNCATE TABLE ssd_disability;
16+ END
17+ ELSE
18+ BEGIN
19+ CREATE TABLE ssd_disability
20+ (
21+ disa_table_id VARCHAR (48 ) PRIMARY KEY ,
22+ disa_person_id VARCHAR (48 ) NOT NULL ,
23+ disa_disability_code VARCHAR (48 ) NOT NULL
24+ );
25+ END
1726
1827-- =============================================================================
1928-- Truncate before reload
@@ -24,23 +33,22 @@ TRUNCATE TABLE ssd_disability;
2433-- Load data into ssd_disability
2534-- =============================================================================
2635
27- INSERT INTO ssd_disability (
28- disa_table_id,
29- disa_person_id,
30- disa_disability_code
31- )
3236;WITH EXCLUSIONS AS (
33- SELECT
34- PV .PERSONID
37+ SELECT PV .PERSONID
3538 FROM [eclipseDelta].[dbo].[PERSONVIEW] PV
36- WHERE PV .PERSONID IN (1 ,2 ,3 ,4 ,5 ,6 ) -- hard filter admin/test/duplicate records
37- OR COALESCE (PV .DUPLICATED ,' ?' ) = ' DUPLICATE'
39+ WHERE PV .PERSONID IN (1 ,2 ,3 ,4 ,5 ,6 )
40+ OR ISNULL (PV .DUPLICATED ,' ?' ) = ' DUPLICATE'
3841 OR UPPER (PV .FORENAME ) LIKE ' %DUPLICATE%'
3942 OR UPPER (PV .SURNAME ) LIKE ' %DUPLICATE%'
4043)
44+ INSERT INTO ssd_disability (
45+ disa_table_id,
46+ disa_person_id,
47+ disa_disability_code
48+ )
4149SELECT
42- CLA .CLASSIFICATIONASSIGNMENTID AS disa_table_id, -- metadata={"item_ref":"DISA003A"}
43- CLA .PERSONID AS disa_person_id, -- metadata={"item_ref":"DISA001A"}
50+ CLA .CLASSIFICATIONASSIGNMENTID AS disa_table_id,
51+ CLA .PERSONID AS disa_person_id,
4452 CASE
4553 WHEN CLASSIFICATION .NAME = ' No disability' THEN ' NONE'
4654 WHEN CLASSIFICATION .NAME = ' Mobility' THEN ' MOB'
@@ -59,10 +67,14 @@ SELECT
5967 OR CLASSIFICATION .NAME = ' Autism spectrum condition'
6068 THEN ' AUT'
6169 ELSE ' DDA'
62- END AS disa_disability_code -- metadata={"item_ref":"DISA002A"}
70+ END AS disa_disability_code
6371FROM [eclipseDelta].[dbo].[CLASSIFICATIONPERSONVIEW] CLA
64- LEFT JOIN CLASSIFICATION
72+ LEFT JOIN [eclipseDelta].[dbo].[ CLASSIFICATION] CLASSIFICATION
6573 ON CLASSIFICATION .ID = CLA .CLASSIFICATIONCODEID
6674WHERE CLA .STATUS NOT IN (' DELETED' )
6775 AND CLA .CLASSIFICATIONPATHID IN (55 , 58 , 79 , 172 , 186 )
68- AND CLA .PERSONID NOT IN (SELECT PERSONID FROM EXCLUSIONS);
76+ AND NOT EXISTS (
77+ SELECT 1
78+ FROM EXCLUSIONS E
79+ WHERE E .PERSONID = CLA .PERSONID
80+ );
0 commit comments