通过满足组内的多个条件来创建sql组
我有一张如下表:通过满足组内的多个条件来创建sql组,sql,group-by,Sql,Group By,我有一张如下表: 我想选择RELB_CD=9093和INFO_SRC_CD与7784的组。这两种情况都应出现在组中。在下表中,我的输出应该是id=139993690的组。您可以使用聚合和have: select id from t group by id having sum(case when relb_cd = 9093 then 1 else 0 end) > 0 and sum(case when info_src_cde = 7784 then 1 else 0
我想选择RELB_CD=9093和INFO_SRC_CD与7784的组。这两种情况都应出现在组中。在下表中,我的输出应该是id=139993690的组。您可以使用聚合和
have
:
select id
from t
group by id
having sum(case when relb_cd = 9093 then 1 else 0 end) > 0 and
sum(case when info_src_cde = 7784 then 1 else 0 end) > 0
嘿,使用这段代码,希望对你有所帮助。 您必须忽略日期列,因为该列不允许分组
从您的表组中按id、fisc_ind、relb_cd、info_scop、info_src_cd、fisc_ind、relb_cd、info_scop、info_src_cd选择id、fisc_ind、sum(sls_amt)、relb_cd、info_scop、info_src_cd另一个工作答案。如果您的数据很大,您可以比较总账和这个工作答案,看看哪个运行得更快。我真的不知道哪个更快。这是一个非常短的数据集稍微快一点
select id
from table1
where relb_cd = 9093
intersect
select id
from table1
where info_src_cd = 7784
用您正在使用的数据库标记您的问题。这里的大多数人希望示例表数据和预期结果为格式化文本,而不是图像。query不返回任何结果。请注意,relb_cd=9093和info_src_cd=7784位于不同的行中。此查询处理分散在多行中的值,并根据示例数据返回预期答案。如果不是其他原因造成的话。@ushrani尝试在9093和7784上使用单引号是的,我添加了引号,仍然没有luck@ushrani . . . 你应该设置一个db小提琴。