一旦我運行此查詢,我得到以下錯誤子查詢返回多個值。
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