# View: Client_Emails

**View Name:** client_emails
**Table Source:** `Derived from: Sax.Agreement_Outgoing_Types, Sax.Agreement_Period_Length_Defs, Sax.Agreement_Periods, Sax.Interested_Parties, Sax.Ip_Artist_Aliases + 3 more`
**File Path:** `views/Client_Emails.view.lkml`

## Overview

- **File Size:** 8503 bytes
- **Lines of Code:** 144
- **Dimensions:** 8
- **Measures:** 0
- **Dimension Groups:** 0
- **Filters:** 0

## Dimensions

| Name | Type |
|------|------|
| `ACQUIRER` | string |
| `CLIENT_NAME` | string |
| `CLIENT_ID` | string |
| `CLIENT_AGR_ID` | string |
| `First_Name` | string |
| `Last_Name` | string |
| `EMAIL_ADDRESS` | string |
| `CLIENT_OWNER` | string |

## SQL Comments

- For old agreements with non-standard set up
- client agreements

## Derived Table

```sql
sql:
    WITH CLIENTS AS (          SELECT   IP.ID CONTR_ID,
                                    IP.NAME CONTR_NAME,
                                    NVL(IP.GROUP_NAME, IP.PERFORMER_NAME) GROUP_NAME,
                                    A.ID CONTR_AGR_ID,
                                    CONNECT_BY_ROOT IP.ID CLIENT_ID,
                                    CONNECT_BY_ROOT IP.NAME CLIENT_NAME,
                                    CONNECT_BY_ROOT A.ID CLIENT_AGR_ID,
                                    CONNECT_BY_ROOT A.TERRITORY_SUMMARY CLIENT_TERR_SUM,
                                    CONNECT_BY_ROOT A.PRIMARY_ADMIN_OWNER_ID PRIMARY_ADMIN_OWNER_ID,
                                    CONNECT_BY_ROOT A.SECONDARY_ADMIN_OWNER_ID SECONDARY_ADMIN_OWNER_ID,
                                    TO_CHAR(AP.START_DATE, 'DD/MM/YYYY') AP_START_DATE,
                                    CONNECT_BY_ROOT A.TASK_SERVICE_LEVEL SERVICE_LEVEL
                               FROM awal_sax.sax.AGREEMENTS A
                         INNER JOIN awal_sax.sax.INTERESTED_PARTIES IP ON A.ASSIGNOR_ID = IP.ID
                    LEFT OUTER JOIN awal_sax.sax.AGREEMENT_PERIODS AP
                                 ON AP.AGREEMENT_ID = A.ID
                                AND PERIOD_LENGTH_DEFINITION_ID IN (SELECT ID FROM awal_sax.sax.AGREEMENT_PERIOD_LENGTH_DEFS WHERE CODE = 'FIXED_DATES')
                              WHERE IP.IP_TYPE = 'Person'
                                /*AND DECODE(IP.ID,                  -- For old agreements with non-standard set up
                                           'IP98853', 'AGR316757',
                                           'IP98854', 'AGR316737',
                                           'IP300576', 'AGR293783',
                                           'IP300577', 'AGR296337',
                                           'IP210353', 'AGR296220',
                                           'IP246238', 'AGR297039',
                                           'IP71436', 'AGR225801',
                                           'IP72396', 'AGR225806',
                                           'IP72394', 'AGR225804',
                                           'IP71507', 'AGR225802',
                                           'IP58428', 'AGR225805',
                                           CONNECT_BY_ROOT A.ID) = CONNECT_BY_ROOT A.ID*/
                         START WITH A.ID IN (SELECT A.ID
                                               FROM awal_sax.sax.AGREEMENTS A
                                         INNER JOIN awal_sax.sax.AGREEMENT_OUTGOING_TYPES AOT ON A.AGREEMENT_OUTGOING_TYPE_ID = AOT.ID
                                              WHERE AOT.CODE = 'CLIENT'
                                                AND A.CLIENT_RIGHTS = 'Neighbouring Rights') -- client agreements
                   CONNECT BY PRIOR A.ASSIGNOR_ID = A.ACQUIRER_ID
                                AND A.AGREEMENT_TYPE_ID IS NULL
                                AND A.USE_FOR_NEIGHBOURING = 'Y')

                        SELECT   ACQUIRERS.NAME                                                                 "ACQUIRER",
                                 C.CLIENT_NAME                                                                  "CLIENT_NAME",
                                 C.CLIENT_ID                                                                    "CLIENT_ID",
                                 C.CLIENT_AGR_ID                                                                "CLIENT_AGR_ID",
                                 IP.PERSON_FORENAME                                                             "FIRST_NAME",
                                 IP.PERSON_SURNAME                                                              "LAST_NAME",
                                 IP.EMAIL_ADDRESS                                                               "EMAIL_ADDRESS",
                                 CLIENT_OWNERS.NAME                                                             "CLIENT_OWNER"
                        FROM CLIENTS C
                        LEFT OUTER JOIN awal_sax.sax.INTERESTED_PARTIES    IP                ON IP.ID = C.CONTR_ID
                        LEFT OUTER JOIN awal_sax.sax.IP_ARTIST_ALIASES     IP_ALIASES        ON IP.ID = IP_ALIASES.PARTY_ID
                        LEFT OUTER JOIN awal_sax.sax.RECORDING_ARTISTS     REC_ART           ON IP_ALIASES.ARTIST_ID = REC_ART.ID
                        LEFT OUTER JOIN awal_sax.sax.TERRITORIES           BIRTH_COUNTRY     ON IP.COUNTRY_OF_BIRTH_ID = BIRTH_COUNTRY.ID
                        LEFT OUTER JOIN awal_sax.sax.IP_CITIZENSHIPS       IP_CITI           ON IP.ID = IP_CITI.PARTY_ID
                        LEFT OUTER JOIN awal_sax.sax.TERRITORIES           CITIZENSHIP       ON IP_CITI.TERRITORY_ID = CITIZENSHIP.ID
                        LEFT OUTER JOIN awal_sax.sax.IP_RESIDENCIES        IP_RES            ON IP.ID = IP_RES.PARTY_ID
                        LEFT OUTER JOIN awal_sax.sax.TERRITORIES           RESIDENCY         ON IP_RES.TERRITORY_ID = RESIDENCY.ID
                        LEFT OUTER JOIN awal_sax.sax.AGREEMENTS            AGGR              ON AGGR.ID = C.CLIENT_AGR_ID
                        LEFT OUTER JOIN awal_sax.sax.AGREEMENT_PERIODS     AGGR_PERDS        ON AGGR.ID = AGGR_PERDS.AGREEMENT_ID
                        LEFT OUTER JOIN awal_sax.sax.AGREEMENT_PERIODS     AGGR_COL          ON AGGR.ID = AGGR_COL.AGREEMENT_ID AND AGGR_COL.PERIOD_TYPE = 'Collection'
                        LEFT OUTER JOIN awal_sax.sax.INTERESTED_PARTIES    ACQUIRERS         ON AGGR.ACQUIRER_ID = ACQUIRERS.ID
                        LEFT OUTER JOIN awal_sax.sax.SAX_USERS             CLIENT_OWNERS     ON CLIENT_OWNERS.ID = C.PRIMARY_ADMIN_OWNER_ID
                        WHERE   C.CLIENT_AGR_ID IS NOT NULL
                        AND     C.CONTR_ID IS NOT NULL
                        AND     C.CLIENT_AGR_ID IS NOT NULL
                        GROUP BY IP.PERSON_SURNAME,
                                 IP.PERSON_FORENAME,
                                 IP.PERSON_MIDDLE_1,
                                 IP.PERSON_MIDDLE_2,
                                 IP.GROUP_NAME,
                                 IP.EMAIL_ADDRESS,
                                 IP.PERFORMER_NAME,
                                 CASE
                                    WHEN UPPER(REC_ART.ALIAS_BAND) = 'ALIAS' THEN REC_ART.NAME
                                 END,
                                 CASE
                                    WHEN UPPER(REC_ART.ALIAS_BAND) = 'BAND' THEN REC_ART.NAME
                                 END,
                                 IP.SEX,
                                 IP.PERSON_DOB,
                                 IP.PERSON_DOD,
                                 BIRTH_COUNTRY.NAME,
                                 CITIZENSHIP.NAME,
                                 RESIDENCY.NAME,
                                 IP.IPDA_IPN,
                                 IP.FEATURED,
                                 AGGR.TERRITORY_SUMMARY,
                                 AGGR.AGREEMENT_SIGNED_DATE,
                                 CLIENT_OWNERS.NAME,
                                 C.SECONDARY_ADMIN_OWNER_ID,
                                 C.CLIENT_NAME,
                                 C.CLIENT_ID,
                                 C.CLIENT_AGR_ID,
                                 C.CONTR_ID,
                                 C.CONTR_AGR_ID,
                                 C.SERVICE_LEVEL,
                                 ACQUIRERS.NAME,
                                 AGGR.IS_TERMINATED,
                                 AGGR.TERMINATED_DATE,
                                 AGGR.NR_AGREEMENT_TYPE
```

