问题描述
我正在尝试构造一个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 (将#修改为@)