一旦我运行此查询,我得到以下错误子查询返回多个值。
UPDATE stockloan_feed
SET CUSIP =(
SELECT CUSIP FROM stockloan_feed_cusip_matching
WHERE stockloan_feed_cusip_matching.SEDOL = stockloan_feed.SEDOL OR
stockloan_feed_cusip_matching.ISIN = stockloan_feed.ISIN)
WHERE CUSIP IS NULL and date = DATEDIFF(d, 0, GETDATE()-1)
子查询返回多个值。当子查询遵循=,!=,<,< =,>,> =或当子查询用作表达式时,这是不允许的。
你在你的子查询中有不同的CUSIP吗? – triclosan
尝试阅读错误消息。你想对此做什么?您有多个(可能不同!)值,并且只能设置一个......您没有“告诉”数据库您要从它们中获得哪一个 – ppeterka
在stockloan_feed_cusip_matching表上每行都有(SEDOL,ISIN) ?我认为你在这些值中有重复的部分,这就是你从子查询中获得多于一行的原因。我会写一些查询来查明'stockloan_feed_cusip_matching'表中是否有重复。 – Isaac