Accessデータベースからインポート/エクスポートウィザードを使用して作成されたSQLサーバーデータベースが1つあります。次に、Accessデータベースに基づくがスキーマが少し異なる別のSQLデータベースがあります。単純なAccessベースのデータベースからより複雑なSQLサーバースキーマデータベースにデータを取得しようとしています。Accessデータベースは、国をテキストとしてContactテーブルに格納するだけで、新しいスキーマでは、ContactテーブルにCountryテーブルにリンクするCountryIdがあります。私はこれを行うためにSQLを書こうとしました:
UDPATE SQLVersion.dbo.Contact
SET CountryId = (SELECT LookupCountry.Id
FROM SQLVersion.dbo.Country as LookupCountry, AccessDBVersion.dbo.tblContact as AccessContact
WHERE LookupCountry.Name = AccessContact.Country);
これは機能しません:
サブクエリは複数の値を返しました。サブクエリが=、!=、<、<=、>、> =の後に続く場合、またはサブクエリが式として使用される場合、これは許可されません。
このエラーがスローされる理由は理解できますが、ルックアップで見つかった値で各行を更新できる正しいSQLを作成する方法がわかりません。誰か助けてもらえますか?