'CASE'句と 'WHEN'句の2つの異なるフィールドが含まれているため、クエリを実行するときに内部エラーが発生します。次のようにクエリは次のとおりです。bigqueryの内部エラーケースcondtion
SELECT
CASE WHEN site != 'a' OR geo LIKE 'NO%' THEN "test" END
FROM elc.CpEvents_agderposten
WHERE _partitiontime BETWEEN TIMESTAMP('2014-09-24') AND TIMESTAMP('2014-09-24')
同様のクエリが正常に動作している:
SELECT
CASE WHEN site != 'agderposten' OR geo LIKE 'NO%' THEN "test" END
FROM elc.CpEvents_agderposten
WHERE _partitiontime BETWEEN TIMESTAMP('2014-09-24') AND TIMESTAMP('2014-09-24')
-
-SELECT
CASE WHEN geo LIKE 'NO%' THEN "test" END
FROM elc.CpEvents_agderposten
WHERE _partitiontime BETWEEN TIMESTAMP('2014-09-24') AND TIMESTAMP('2014-09-24')
-
SELECT
CASE WHEN site != 'a' AND geo LIKE 'NO%' THEN "test" END
FROM elc.CpEvents_agderposten
WHERE _partitiontime BETWEEN TIMESTAMP('2014-09-24') AND TIMESTAMP('2014-09-24')
を
SELECT
CASE WHEN site != 'a' THEN "test" WHEN geo LIKE 'NO%' THEN "test" END
FROM
elc.CpEvents_agderposten
WHERE
_partitiontime BETWEEN TIMESTAMP('2014-09-24')
AND TIMESTAMP('2014-09-24')
最後の例は、最初のクエリの回避策として使用できますが、常に適用することはできません。たとえば、次のクエリでは、あまりにも失敗しました:
SELECT
CASE WHEN site == 'a' and geo >= 'NO' THEN "test" END
FROM elc.CpEvents_agderposten
WHERE _partitiontime BETWEEN TIMESTAMP('2014-09-24') AND TIMESTAMP('2014-09-24')
最初のクエリのためのジョブIDがある:CPCD-1357:CPCD-1357:bquijob_1b26172b_157ae348938
誰もが知っている
bquijob_24edf89_157ae353e1eそして最後のクエリのためにこのエラーを回避する方法は?