2
當字符串'DebugData'包含數字時,我必須執行子選擇。但在谷歌大查詢中,我收到錯誤「Subselect不允許內部選擇子句」。任何幫助,將不勝感激 !!在Google大查詢中選擇內部case語句
%%sql --module Test2
DEFINE QUERY Test2
SELECT
HardwareId, DebugReason, DebugData,
CASE
WHEN lower(DebugData) LIKE 'ver%' THEN 'Verizon'
WHEN lower(DebugData) LIKE 'ro%' THEN 'Rogers'
WHEN REGEXP_MATCH(DebugData,'\\d+') THEN c.Network
(SELECT Network from [red-road-574:RawDebug.CarrierDetails] Where Mcc = SUBSTR(DebugData,0,3) and Mnc = SUBSTR(DebugData,4,7))
ELSE REGEXP_REPLACE(DebugData,'\\?',' ')
END
as ActualDebugData
FROM (TABLE_DATE_RANGE([bigdata:RawDebug.T], TIMESTAMP ('2016-05-15'),TIMESTAMP('2016-05-15')))
CROSS JOIN [bigdata:RawDebug.CarrierDetails] c
WHERE DebugReason = 50013
LIMIT 200
我嘗試這樣做,但這不是工作:
SELECT
DebugData,
CASE
WHEN lower(DebugData) LIKE 'jas%' THEN 'Jasper'
WHEN REGEXP_MATCH(DebugData,'\\d+') THEN c.Network
ELSE REGEXP_REPLACE(DebugData,'\\?',' ')
END
as ActualDebugData
FROM (TABLE_DATE_RANGE([bigdata:RawDebug.T],TIMESTAMP ('2016-05-15'),TIMESTAMP('2016-05-15')) d)
CROSS JOIN [bigdata:RawDebug.CarrierDetails] c
WHERE d.DebugReason = 50013 and c.Mcc = SUBSTR(DebugData,0,3)
LIMIT 200
我有兩個where語句,一個用於主選擇,另一個用於子選擇。不知道如何使用兩個選擇的地方。 – user3447653
使用一個'WHERE'語句並將它們與'AND'結合使用。 – Barmar
我已經嘗試了上面的代碼(在我的主要部分添加了代碼),但這不起作用。 – user3447653