【问题标题】:Dual command in Big QueryBig Query 中的双重命令
【发布时间】:2019-10-12 00:59:48
【问题描述】:

“我正在尝试在大查询中实现双重命令”

“我尝试使用临时表但无法实现”

Oracle 查询:SELECT LEVEL - 1 F FROM 按级别进行双重连接

“我希望输出格式如下” F 1 2

我有工资表,工资:50 美元和 200 美元

我想复制每一行:50$、-50$、200$ 和 -200$ 是我期望的输出,总共像 4 行

【问题讨论】:

  • BigQuery 不支持 CONNECT BY - 同时,如果您可以根据输入数据的内容和期望的输出来制定您的问题 - 我们可以尝试帮助您。理想情况下,您还应该提供您自己尝试过的内容 - 通常(即使在很多情况下甚至不接近答案)它有助于更​​好地理解您的案例。无论如何-很好的简单示例以及解释逻辑是获得良好答案的捷径
  • @MikhailBerlyant:更新了问题。我希望拥有每一行的副本。例如,我的表包含 100 行,每笔交易我需要 200 行,其中我有案例语句来编写借方和贷方交易,其中净销售额应为零。希望你明白了
  • 提供简化但具体的初始数据和预期数据示例。

标签: google-bigquery


【解决方案1】:

你可以使用

SELECT
1
from (
select SESSION_USER())

返回只有一行的结果集。

【讨论】:

    【解决方案2】:

    由于 BigQuery 不支持 CONNECT BY 子句,并且您想从数据中获取正值和负值,您可以尝试使用类似这样的简单查询:

    SELECT my_value FROM `project.dataset.table`
    UNION ALL
    SELECT -my_value FROM `project.dataset.table`
    

    注意第二个查询中的-,因为它会给你负值。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多