簡體   English   中英

Sql 基於輸入參數的限制子句

[英]Sql Limit clause based in input Parameter

我一直在嘗試根據來自 Json 文件的輸入參數找到限制子句的解決方案。 當前代碼看起來有點像這樣

With myJsonTable (JsonText)
as (
Select JsonText)

Select * from Data
Where...

Limit 
  Case
   WHEN (Select JSON_VALUE(JsonText, '$."Amount"') From myJsonTable is not null
     THEN (Select JSON_VALUE(JsonText, '$."Amount"') From myJsonTable)
     ELSE (10000000)
  END

我似乎無法找到工作。 我得到的 Output 是

Non-negative integeter value expected in LIMIT clause

有沒有辦法完成 select? 在 Case 子句中的任何地方嘗試不同的 Selects 都會導致同樣的錯誤。

Exasol 只允許在 limit 子句中使用常量表達式,因此無法直接在其中指定引用myJsonTable的 select 語句。

但是,您可以通過使用類似於SQL 查詢前 5 個結果的方法來解決此問題,而無需使用 LIMIT/ROWNUM/TOP

暫無
暫無

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

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