当前位置: 首页 > 知识库问答 >
问题:

使用外键关系更新从另一个表中选择的电子邮件

祁修平
2023-03-14
UPDATE CRM.CRM_CUSTOMER_USER 
  SET EMAIL = (SELECT EMAIL 
               FROM QA29.ST_CONTACT 
                 INNER JOIN QA29.ST_APP_USER ON QA29.ST_CONTACT.CONTACT_ID = 129) 
WHERE APP_USER_ID = 120; 

共有1个答案

勾渝
2023-03-14

内部查询中缺少联接条件。

以下查询必须返回多行,这是问题的原因:

SELECT
    EMAIL
FROM
    QA29.ST_CONTACT
    INNER JOIN QA29.ST_APP_USER ON QA29.ST_CONTACT.CONTACT_ID = 129;

您必须使用有效的联接条件将其限制为单个记录,如下所示:

UPDATE CRM.CRM_CUSTOMER_USER
SET
    EMAIL = (
        SELECT
            EMAIL
        FROM
            QA29.ST_CONTACT
            INNER JOIN QA29.ST_APP_USER 
            ON QA29.ST_CONTACT.APP_USER_ID = QA29.ST_APP_USER.APP_USER_ID -- OR SOMETHING LIKE THIS
            AND QA29.ST_CONTACT.CONTACT_ID = 129
    )
WHERE
    APP_USER_ID = 120;
 类似资料:
  • 问题内容: 为简化起见,我有两个使用外键一对一关联的表,例如: 一个用户可能有很多动作,也可能没有。我需要一个sql select来返回在actions表中没有user_id值的用户id。 所以我需要一个返回用户ID 2(Smith)的SQL查询,因为外键值不包含ID 2 我尝试了以下SQL,但它返回了所有用户ID: 问题答案:

  • 我有两个php值,分别是$email和$pass。 email-MySQL数据库中的行名称password-MySQL数据库中的行名称 我正在运行一个sql查询,从电子邮件=$email和密码=$pass的表成员中进行选择。 然后我运行mysqli_query,看看是否存在一行,我没有得到任何结果。回声肯定会回声出信息匹配的地方的ID。

  • 我如何才能做到这一点,使我的A实体仅由B的外键持久化?也就是说,只有外键被插入到数据库中(因为B是一个主表,所以我不需要插入元素)。

  • 问题内容: 我是SQL的初学者,对Transact-SQL不太了解。 我意识到这是一个新手问题,但是我正在寻找一个简单的解决方案。 我有一个带有一些列()的表。 主表 我想从该表中选择数据并插入到其他两个表中。 第一桌 是来自的前三个字符的组合 第一个表中的数据按的前三个字符和客户代码分组 第二张桌子 那么,如何通过使用SQL选择主表的行来插入第一张表和第二张表呢? 感谢您的所有答复。 问题答案:

  • 我们系统的所有用户都来自一个主“用户”类。同样,我们希望以相同的方式构造数据库,拥有一个主“用户”表,该表与特定用户类型的必要表连接,以提供额外的用户信息。 以这三个基本表格为例: 表用户 user_id|user_email|user_firstname|user_lastname|... 表雇员 user_id|employee_staff_number|... 表管理 user_id|adm

  • 我的数据库中有两个表。一个表包含有关用户的信息,而另一个表包含有关预订的数据。当用户进行预订时,userid将被放置在预订表中。现在,我想展示一张用户的照片,其中包括预订的备注和日期,但是照片在users表中。 这是我的两张桌子: null null