我正在寻找一种写CASE WHEN语句的方法,如果任何一项=特定条件,该语句都会返回一个值。这是一些背景:
我的交易在每笔交易中都有几种不同的资产,并且这些资产可能都具有与之关联的不同供应商。我正在将数据汇总到交易级别,并希望在交易中任何资产的供应商与该交易的客户相同的情况下标记交易。
因此,如果交易X上所有资产中的任何供应商等于交易X上的客户,则标记该交易
答案 0 :(得分: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;