好的开始 - 我已经搞砸了!
我有两张桌子记录了所有的拍卖 - Bought&已售出 - 并且每个已售出的记录都具有bidID值,该值将其加入到Bought记录中。已购买的每件商品都有一个独特的itemID值,但有时可能会多次买卖同一商品。
以下列记录为例......
Sold Table:
listingID itemID bidID gamertag startPrice binPrice currentPrice listingEnds listingBought
----------- ---------------- --------- ------------------ ------------- ----------- --------------- ------------------------- -----------------------
18661 9011938655 4410 BoundenLeech84 3000 3100 3100 2014-01-31 18:59:20.000 2014-01-31 18:09:32.000
18825 9011938655 4410 BoundenLeech84 2800 2900 2900 2014-01-31 19:53:15.000 2014-01-31 18:54:48.000
Bought Table:
bidID itemID gamertag binPrice lowestBIN bidTime
----------- ---------------- ----------------- ---------- ----------- -----------------------
4410 9011938655 BoundenLeech84 2800 3300 2014-01-31 17:59:18
4454 9011938655 BoundenLeech84 2600 3100 2014-01-31 18:53:14
因此,列表ID 18661的bidID 4410是正确的,但是listingID 18825的bidID也是4410,这是不正确的,因为它应该是4454(因为bidID 4454的bidTime是在listingID 18661的listingBought时间之后)。
有数百个,如果不是数千个这样的记录,所以我想知道是否有人知道是否有一种编写脚本的方法可以省去我的手动操作吗?
答案 0 :(得分:1)
UPDATE A SET A.BIDID=B.BIDID
FROM SOLD A JOIN(SELECT BIDID,ITEMID,BIDTIME FROM BOUGHT)B
ON A.ITEMID=B.ITEMID
AND A.LISTINGBOUGHT>B.BIDTIME
AND A.BIDID<>B.BIDID
WHERE A.LISTINGBOUGHT>B.BIDTIME