簡體   English   中英

Big Query - 使用 CTE 斷言?

[英]Big Query - Asserts with CTEs?

有沒有辦法在下面的查詢中插入“斷言”? (不正確的語法)

WITH 

NAMES as ( SELECT 'Joe' as boy, 'Laura' as girl )

ASSERT SELECT boy FROM NAMES != 'Karl' as 'Invalid name' 

SELECT * FROM NAMES

如果您不介意添加更多列,則可以執行以下操作:

WITH 

NAMES as ( SELECT 'Joe' as boy, 'Laura' as girl )

SELECT *, IF(boy = 'Karl', Error('Invalid name'), NULL) AS asserts FROM NAMES

如果這樣做,您可以排除該列,如:

SELECT * EXCEPT(asserts) FROM (

WITH 

NAMES as ( SELECT 'Joe' as boy, 'Laura' as girl )

SELECT *, IF(boy = 'Joe', Error('Invalid name'), NULL) AS asserts FROM NAMES

)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM