【发布时间】:2016-06-01 14:10:16
【问题描述】:
我有一个在单行中定义常量的表。我想通过使用这些常量的值在另一个表上构造一个查询,例如:
从 DataTable WHERE DataTable.key 中选择 DataTable.name > Config.keyConstant
但我不知道如何干净利落地做到这一点。在这种情况下,可以通过使用 CROSS JOIN 来完成
SELECT DataTable.name FROM (DataTable CROSS JOIN Config) WHERE DataTable.key > Config.keyConstant
但是随着我的查询变得越来越大并且需要在不同的地方进行配置,这变得非常混乱。
有什么建议吗?在 SQL 中,我认为您会使用变量来执行此操作。
编辑:其实我希望能够做类似的事情
从数据表中选择 IF(Config.keyConstant*DataTable.key=1, DataTable.name, "John")
这意味着不幸的是,我无法像答案中建议的那样将所有条件逻辑移动到 WHERE EXISTS 子句中(尽管我不知道这一点,这很酷)。
【问题讨论】:
标签: google-bigquery