dongnuo2879 2018-01-17 13:13
浏览 31
已采纳

如何在不覆盖的情况下将2个表组合成第三个表SQL?

so i have 3 Sql tables, I run this command

INSERT INTO `wp_atkv_EWD_OTP_Customers` (`Customer_ID`,`Customer_Email`,`Customer_Created`) 
SELECT 
    `User_ID`, 
    `Username` , 
    `User_Date_Created` 
FROM `wp_atkv_EWD_FEUP_Users`

and it works perfectly fine I want to add data from another table using the same user id but then I run the command below it says duplicate error? Should I not be using insert into? also if i ignore the duplicate it just creates new entries I want them all in the same row

INSERT INTO `wp_atkv_EWD_OTP_Customers` (`Customer_ID`,`Customer_Name`) 
SELECT 
    `User_ID`, 
    group_concat(`Field_Value`) 
FROM `wp_atkv_EWD_FEUP_User_Fields` 
GROUP by `User_ID`

What Should I do how can I update with the third table?

  • 写回答

1条回答 默认 最新

  • dongwaner1367 2018-01-17 13:15
    关注

    I'm expecting a join:

    INSERT INTO wp_atkv_EWD_OTP_Customers (Customer_ID, Customer_Email, Customer_Created, Customer_Name)
        SELECT u.User_ID, u.Username, u.User_Date_Created, uf.vals
        FROM wp_atkv_EWD_FEUP_Users u LEFT JOIN
             (SELECT User_ID, group_concat(Field_Value) as vals 
              FROM wp_atkv_EWD_FEUP_User_Fields
              GROUP by User_ID
             ) uf
             ON u.user_id = uf.user_id;
    

    Alternatively, you might want an update:

    update wp_atkv_EWD_OTP_Customers c join
           (select `User_ID`, group_concat(`Field_Value`) as vals
            from `wp_atkv_EWD_FEUP_User_Fields` 
            group by `User_ID`
           ) uf
           on c.customer_id_id = cf.user_id
        set Customer_Name = uf.vals;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 BV260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序