Как я могу объединить 2 таблицы в третью таблицу SQL без перезаписи?

0

поэтому у меня есть 3 таблицы Sql, я запускаю эту команду

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'

и он отлично работает. Я хочу добавить данные из другой таблицы, используя один и тот же идентификатор пользователя, но затем я запустил команду ниже, где говорится о дублирующей ошибке? Должен ли я не использовать вставку? также, если я игнорирую дубликат, он просто создает новые записи, я хочу, чтобы все они были в одной строке

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'

Что мне делать, как я могу обновить третью таблицу?

  • 0
    Почему вы перемещаете данные между таблицами?
  • 1
    Ну, это связано с чтением этого плагина WordPress из определенной таблицы. Кажется, легче переместить данные, чем переписать плагин.
Теги:
phpmyadmin

1 ответ

1
Лучший ответ

Я ожидаю 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;

Кроме того, вам может потребоваться 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;
  • 0
    Спасибо! Это работает отлично, если у вас есть время, это своего рода вопрос нуба, но что вы делаете. что вы ставите перед значениями переменных? Также это должно было быть левое соединение? или это мог быть другой?
  • 0
    @MarkKetchumManzarescu. , , Это квалифицированные имена столбцов. Они показывают, откуда взялась колонна.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню