3
我試圖使用定位功能,它似乎並不如預期的工作:BigQuery的位置功能
位置(場) - 返回一組重複的內場的基礎之一,順序位置領域。我希望位置在加載數據時給出原始位置,而我在結果集中獲得位置(即 - 在where子句運行之後)。
有沒有一種方法來獲取原始數據中的位置加載?
比較下面的兩個查詢來查看問題。
SELECT
ngram,
cell.value,
position(cell.volume_count) as pos,
FROM [publicdata:samples.trigrams]
where ngram contains ", says Blake"
SELECT
ngram,
cell.value,
position(cell.volume_count) as pos,
FROM [publicdata:samples.trigrams]
where ngram contains ", says Blake" and integer(cell.value) % 5 = 0
如何得到嵌套的記錄多級字段中的位置:選擇位置(repeatedRec.rec1.field),其中repeatedRec是重複記錄,並REC1是不重複的記錄?假設repeatRec沒有任何其他葉子。 – Lior
我的一位同事指出,扁平化實際上並不是由where子句完成的;相反,問題在於操作的順序; where子句在位置函數之前被評估。要解決這個問題,你可以將where子句移動到外部選擇。我已經在上面更新了我的答案;它應該做你期望的。 –
謝謝。是否有可能獲得嵌套在2級記錄中的字段的位置,其中只有最高級別是重複記錄? – Lior