【问题标题】:Using derived subquery result in an other query在其他查询中使用派生子查询结果
【发布时间】:2018-01-10 21:23:05
【问题描述】:

我想在下一个选择中使用第一个子查询结果。但它没有看到 row1 因为它不是数据库中的表。我该如何解决这个问题?

UPDATE transactions, (SELECT
                    card_id,
                    id,
                    card_sum_before,
                    card_sum_after,
                    amount,
                    dt
                  FROM transactions
                  WHERE status = 1 AND
                        card_id = 1
                  ORDER BY dt ASC) AS counted_table,
  (SELECT
 row2.id                                                   AS id,
 (row1.card_sum_after - row2.amount - row2.card_sum_after) AS difference
FROM counted_table AS row1
 INNER JOIN counted_table AS row2 ON row2.id = row1.id + 1
ORDER BY row1.dt ASC) selected
SET transactions.difference = selected.difference
WHERE transactions.id = selected.id`

【问题讨论】:

标签: mysql sql subquery


【解决方案1】:

请执行类似的操作,将第一个查询输出存储到临时表,然后在您想要的任何查询中使用该临时表。

【讨论】:

    猜你喜欢
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多