Skip to content

Commit 8d70eaa

Browse files
committed
syntax fixes applied on CTE run order and create tbl
1 parent 6071474 commit 8d70eaa

File tree

1 file changed

+32
-20
lines changed

1 file changed

+32
-20
lines changed

deployment_extracts/eclipse/live/ssd_deployment_individual_files_tsql/ssd_disability.sql

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,22 @@
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+
)
4149
SELECT
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
6371
FROM [eclipseDelta].[dbo].[CLASSIFICATIONPERSONVIEW] CLA
64-
LEFT JOIN CLASSIFICATION
72+
LEFT JOIN [eclipseDelta].[dbo].[CLASSIFICATION] CLASSIFICATION
6573
ON CLASSIFICATION.ID = CLA.CLASSIFICATIONCODEID
6674
WHERE 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

Comments
 (0)