[英]Merging similar SQL rows
我想在SQL中合并一些IF条件的行基。 我的数据库看起来像这样
| com_id | bom_id |fil_title ===================== | 6067 | 6070 |NULL | 6067 | 6070 |07 | 6067 | 6071 |NULL | 6067 | 6071 |07 | 6067 | 6069 |NULL
我想要实现的是
| com_id | bom_id |fil_title ===================== | 6067 | 6070 |07 | 6067 | 6071 |07 | 6067 | 6069 |NULL
因此,每次如果我有两行具有相同的bom_id我想将它们合并为一个,但如果我有一个只是离开它。
这只是一个例子 - 我的完整查询更大,但问题就在那里。 我知道SQL有一些IF,但我不知道如何在这里使用它。
//编辑我没有提到的确切地说我有更多带有一些随机值的字段。 我想只从非空的行中选择这个值。 (但只有我们有2行)。 这就是为什么明显和简单的agrregate不起作用的原因
只做聚合 :
select com_id, bom_id, max(fil_title)
from table t
group by com_id, bom_id;
如果该示例结果来自其他查询,则使用subquery
:
select com_id, bom_id, max(fil_title)
from ( <query here>
) t
group by com_id, bom_id;
或者您可以使用distinct来这样做
select com_id , bom_id , max(fil_title)
from table t
group by com_id , bom_id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.