完全なエラーメッセージは次のとおりです。サブクエリは2つ以上の値を返しました。 =、!=、<、< =、>、> =、またはサブクエリが式として使用されている場合は、これは許可されません。私が見つけることができるすべてのことはちょうど "ええ、TOP 1を使用して、それはうまくいく"と言います。私はサブクエリまたはselect文も持っていません。ここでSSMSエラー:サブクエリは1つ以上の値を返しましたが、サブクエリはありません
は、クエリです:
update f
set f.new_monthnumber = datediff(mm, dateadd(dd, dbo.ufn_GetDaysInMonth(a.new_opendate) - 16, a.new_opendate), f.new_submit_date) + 1
from FilteredAccount a
left outer join FilteredNew_Financials f on f.new_name = a.accountnumber
where f.new_monthnumber is null
ufn_GetDaysInMonthがそれに渡された日付を解析して、全くデータベースを照会しないユーザ定義関数であり、いずれにしても、私はそれがないことを確認しましたそれなしでクエリを実行することによってエラーの原因。
誰でも、ここで何が起こっているのか知っていますか?私は少しdifferentyクエリを書いているだろう
こんにちは、割り当ての右側に完全にネストされたdatediffを削除すると正しく動作しますか? –
ちょうど試しましたが、実際には試していません。 – extarbags
しかし、あなたは全体のdatediffと結合を削除し、あなたはテーブルfの上で動作する場合は正しく動作するはずですか?私は覚えていることは、SQL 2005はまだSQL 2008は問題ありませんが、そのような構造の更新コマンドが好きではないことを覚えています。 –