【发布时间】:2017-01-30 18:43:19
【问题描述】:
我现在卡住了,现在正在获取解决此查询的逻辑。找到下表和输出。有表 A 和表 B 匹配两个列 ID 和 DATE。如果日期匹配,那么它应该将数量乘以百分比,否则它应该选择前一个百分比。
Table A Table B
ID Date Percent ID Date Qty
A 01/01/17 0.5 A 01/01/17 10
A 04/01/17 1 A 02/01/17 20
A 06/01/17 2 A 03/01/17 30
B 02/01/17 5 A 05/01/17 40
B 05/01/17 10 A 06/01/17 50
A 07/01/17 60
A 08/01/17 40
B 01/01/17 10
B 02/01/17 50
============================================
column column column comment comment comment
ID Date Qty Previous percent if row not matched
A 01/01/17 0.5 * 10 0.5 got new percent
A 02/01/17 0.5 * 20 0.5
A 03/01/17 0.5 * 30 0.5
A 04/01/17 1* 0 1 got new percent but no qty found
A 05/01/17 1 * 40 1
A 06/01/17 2 * 50 2 got new percent
B 01/01/17 10 * 0 0 no percent found
B 02/02/17 5 * 10 5 got new percent
B 5/1/17 10 * 0 10 got new percent
【问题讨论】:
-
“输出”表 (??) 显示日期为 17 年 4 月 1 日的一行,这两个输入表中都不存在。为什么?这是要求的一部分吗?如果是,请更新帖子以明确说明。
-
@mathguy: 04/01/17 在表 A 的第二行。???
-
@BobJarvis - 呃。我的意思是在表 B 中。更一般地说 - 是否要求所有月份都出现在最终结果中?但是后来我查看了其余的输出,它没有任何意义。例如,2017 年 5 月 5 日是怎么回事? (输出中的最后一行)我决定忽略“输出”并以“我的方式”解释问题。
-
@yAshu:在最后的“结果”行中,日期应该是“05/01/17”而不是“5/5/17”吗?
-
现在是 05/01/17。错别字