如何在DB2中查询不同的列值而不是不同的行?

问题描述

我正在尝试构造一个DB2查询,该查询将返回不同的行,但为了使区别仅基于一个列的值。

如果| Email | submitmonth | A2 | A7 | Submitted | | | | | | [email protected] | 01/08/2020 | 2 | 4 | 1 | [email protected] | 01/07/2020 | 8 | 8 | 2 | [email protected] | 01/06/2020 | 2 | 1 | 3 | [email protected] | 01/08/2020 | 1 | 3 | 1 | [email protected] | 01/07/2020 | 9 | 7 | 2 | [email protected] | 01/08/2020 | 8 | 5 | 1 | [email protected] | 01/06/2020 | 3 | 6 | 1 | [email protected] | 01/04/2020 | 5 | 6 | 2 | [email protected] | 01/02/2020 | 1 | 6 | 3 不同,则下面的查询将允许具有相同订单号的多行。

itemColor

返回...

select distinct
    orderNumber,itemColor,orderDate
from ORDER_TABLE

我想让我的查询执行以下操作:

order_number      item_color      order_date
    0001      |      red      |   2018-06-19
    0001      |     green     |   2018-06-19 // DUPLICATE ORDER_NUMBER
    0002      |      red      |   2018-06-19
    0003      |      red      |   2018-06-19
    0004      |      red      |   2018-06-19

这样,我可以确保每个订单号仅返回一条记录。似乎DB2不允许使用不同的列值,而只允许使用不同的完整行。

我看到有人说可以做一个子查询,就像这样:

select
    orderNumber,orderDate
from ORDER_TABLE
where orderNumber is distinct

...但是可惜这没有用,我仍然在结果集中看到具有相同select orderNumber,orderDate from ORDER_TABLE where orderNumber in (select distinct(orderNumber) from ORDER_TABLE) 的记录。

我看到官方文档说要使用orderNumber运算符-但这似乎是为了汇总函数,我不想汇总任何记录!我只想每个group by排一行。也许我误会了文档。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)