【问题标题】:PL SQL CASE WHEN statementPL SQL CASE WHEN 语句
【发布时间】:2018-06-21 17:36:11
【问题描述】:

我正在寻找一种方法来编写 CASE WHEN 语句,如果任何项目 = 特定条件,则该语句返回一个值。这里有一点背景:

我的交易在每笔交易中都有几个不同的资产,这些资产可能都有不同的供应商与之关联。我正在将数据汇总到交易级别,并且我希望标记交易中任何资产的供应商与该交易中的客户相同的交易。

因此,如果交易 X 上所有资产中的任何供应商等于交易 X 上的客户,则标记此交易

【问题讨论】:

  • 样本数据和期望的结果真的很有帮助。
  • 案例表达式...
  • 为什么要使用 PL SQL?这对我来说听起来像 SQL。如果它与 PL/SQL 有任何关系,请澄清。
  • 问题的标题不清楚你打算做什么。请改写。

标签: sql oracle syntax case-when


【解决方案1】:

您可以使用exists。如果没有样本数据和期望的结果,形成整个查询有点棘手,但是像这样:

select t.*,
       (case when exists (select 1 from suppliers s where t.customer = s.supplier)
             then 1 else 0
        end) as flag
from transactions t;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-08
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    相关资源
    最近更新 更多