我有2个表格,如下所示的排名不正确。是否可以比较这两个表之间的数据,并根据第一个表中可用的数据对其进行排名,并将第一个表中的不可用记录排序在该值中。更新中的RANK()函数sql
表1:
PRODUCT1 LINE1 RANK1
12345 XXXX 1
12345 YYYY 2
12345 ZZZZ 3
34556 GGGG 1
目前具有以下输出我的表2
表2:
PRODUCT2 LINE2 SCORE RANK2
12345 GGGG 100 1
12345 JJKJ 90 2
12345 WEJJ 80 3
12345 CCCC 70 4
12345 XXXX 60 5
12345 YYYY 50 6
12345 ZZZZ 40 7
34556 AAAA 90 1
34556 GGGG 80 2
34556 HHHH 90 3
34556 FFFF 80 4
我更新后期待我的表2输出如下
PRODUCT2 LINE2 SCORE RANK2
12345 XXXX 70 1
12345 YYYY 50 2
12345 ZZZZ 40 3
12345 GGGG 100 4
12345 JJKJ 90 5
12345 WEJJ 80 6
12345 CCCC 70 7
34556 GGGG 80 1
34556 HHHH 90 2
34556 FFFF 80 3
34556 AAAA 90 4
查询输出是像下面,
PRODUCT2 LINE2 SCORE RANK2
12345 XXXX 70 1
12345 YYYY 50 2
12345 ZZZZ 40 3
12345 GGGG 100 4
12345 JJKJ 90 5
12345 WEJJ 80 6
12345 CCCC 70 7
34556 GGGG 80 1
34556 HHHH 90 8
34556 FFFF 80 9
34556 AAAA 90 10
由于(SELECT MAX(RANK)FROM TEMP)在应答所花费的最大秩从临时无关的产品编号和分配最大数量为秩为其余产品。在这种情况下,7是在产品1的最大秩数,因此在表中的排名分配为8,9,10的不可用线2
你真的在使用DB2和Oracle吗? –
我正在使用DB2,删除了不正确的oracle标记。 –