This will not work for my requirement . I need two unnest and If i just add 2 unnest then it is not working . Here I ahev 2 unnest Sloc AND Loclist and I need to have both in tthe SQL . Please let me know
WITH routeIds AS (SELECT b.RteID, A.GtmuCustId
FROM `Test` A
UNNEST Cs b
WHERE A.`$Type` = "Customer"
AND A.GtmuCustId IN ["860131",
"860316",
"864289",
"865368",
"872178",
"876802",
"888458",
"908871",
"909130",
"914458",
"915015",
"915211",
"916319",
"941294",
"941454",
"2825140",
"2825314",
"955478",
"955487"
]
AND b.Cdv = "01")
SELECT A.RteId, B.LocNm, r.GtmuCustId
FROM `Test` A
UNNEST A.SLoc AS B
JOIN routeIds AS r ON A.RteId = r.RteID
WHERE (A.`$Type` = "Route" AND B.LocTypCdv !="05");
WITH routeIds AS (SELECT b.RteID, A.GtmuCustId
FROM `Test` A
UNNEST CustRteRltnshps b
WHERE A.`$Type` = "Customer"
AND A.GtmuCustId IN ["860131",
"860316",
"864289",
"865368",
"872178",
"876802",
"888458",
"908871",
"909130",
"914458",
"915015",
"915211",
"916319",
"941294",
"941454",
"2825140",
"2825314",
"955478",
"955487"
]
AND b.Cdv = "01")
SELECT A.RteId, B.LocNm, r.GtmuCustId
FROM `Test` A
UNNEST A.LocList AS B
JOIN routeIds AS r ON A.RteId = r.RteID
WHERE (A.`$Type` = "RouteLocationList" AND (B.LocTypCdv ="DC" or B.LocTypCdv ="PL" ));