0

以下は私のクエリと関連するエラーです。私は何を間違っていますか?

update aaalogin 
  set name = 
      ( select aaacontactinfo.emailid 
        from aaacontactinfo 
        WHERE aaalogin.user_id = aaausercontactinfo.user_id 
          and aaausercontactinfo.contactinfo_id = aaacontactinfo.contactinfo_id
      );

私は得る

エラー: 'where 句' に不明な列 'aaausercontactinfo.user_id' があります

4

2 に答える 2

0

試す

UPDATE aaalogin SET name =
(
    SELECT aaacontactinfo.emailid
    FROM aaacontactinfo, aaausercontactinfo
    WHERE aaalogin.user_id = aaausercontactinfo.user_id
    AND aaausercontactinfo.contactinfo_id = aaacontactinfo.contactinfo_id
);

サブクエリでaaaloginは必要ありません。使用すると、サブクエリで複数のレコードを返すことさえあります。

于 2012-06-15T15:57:30.290 に答える
0

aaausercontactinfoテーブルリストに含まれていない場合はFROM、次を試してください。

UPDATE aaalogin SET name =
(
    SELECT aaacontactinfo.emailid
    FROM aaacontactinfo, aaalogin, aaausercontactinfo
    WHERE aaalogin.user_id = aaausercontactinfo.user_id
    AND aaausercontactinfo.contactinfo_id = aaacontactinfo.contactinfo_id
);
于 2012-06-15T15:39:25.237 に答える