【发布时间】:2018-04-18 13:53:11
【问题描述】:
我需要对行进行排名,以使每个客户都获得一张发票,除非将单独的发票值设置为 1 - 然后这个设备会单独开具发票。非常感谢任何帮助。
CREATE TABLE #Tmp (DeviceId INT, CustomerId INT, SeparateInv TINYINT)
INSERT INTO #Tmp VALUES (10, 1, 0)
INSERT INTO #Tmp VALUES (11, 1, 0)
INSERT INTO #Tmp VALUES (12, 1, 1)
INSERT INTO #Tmp VALUES (13, 1, 1)
INSERT INTO #Tmp VALUES (17, 2, 0)
INSERT INTO #Tmp VALUES (19, 2, 0)
CREATE TABLE #TmpRank (DeviceId INT, CustomerId INT, SeparateInv TINYINT, InvoiceId INT)
INSERT INTO #TmpRank VALUES (10, 1, 0, 1)
INSERT INTO #TmpRank VALUES (11, 1, 0, 1)
INSERT INTO #TmpRank VALUES (12, 1, 1, 2)
INSERT INTO #TmpRank VALUES (13, 1, 1, 3)
INSERT INTO #TmpRank VALUES (17, 2, 0, 4)
INSERT INTO #TmpRank VALUES (19, 2, 0, 4)
问候, 普热梅克
【问题讨论】:
-
可以用deviceid订购吗?
-
如果在表中插入值 (14, 1, 0),您的预期输出是什么?当发票从 1 设置为 0 时,你会遇到这种情况吗?
标签: sql sql-server rank