私は、顧客に郵便番号の最初の3桁で関連付けられたSales Repsを持っています。これは米国のお客様のみに適用されます。 Profile_Zipテーブルには、Repを表すProfile_Keyと郵便番号の最初の3桁のThree_Digitsの2つの列があります。顧客の記録を保持しているプロファイルテーブルの部分文字列を使用してレコードを特定し、レコードを更新する
Profile_Key Three_Digits
123456 610
123456 611
123456 612
2つのフィールドは、郵便番号(郵便番号)と営業担当者のProfile_Keyを保持している協会のフィールドです。
Customerのassociation_keyをProfile_Zipテーブルの担当者のプロファイルキーで更新するクエリを実行する必要があります。これは私が取り組んできたものです。
update profile set association_key =
(select profile_key from profile_zip where three_digits =
(Select substring(zip, 1, 3) as ZipPrefix
From profile group by profile.zip))
は、私はこのエラーを取得する理由を、私は、クエリを動作させるためにまたは部分がある場合は、右/最適なルートを取る方法を見つけ出すことはできません知っています。
サブクエリが1より大きい値を返しました。 =、!=、<、< =、>、> =またはサブクエリが式として使用されている場合は、これは許可されません。
これを行う別の方法はありますか?おかげさまで
プロファイルテーブル。 John Doeはrep(profile_type = 4)、Maryは顧客(profile_type = 6)です。 Johnのprofile_keyはMaryのAssociation_keyフィールドにあります。それはそれをバインドします。レコード(住所、電話番号など)で複数のフィールド
Profile_key Profile_Type_Key First_Name Last_Name Zip Association_Key ...
123456 4 John Doe 92112
987654 6 Mary Smith 90210 123456
ご協力いただきありがとうございます。これはトリックでした。 – Stan