Есть ли способ объединить данные двух строк с некоторыми пересекающимися данными в postgreSQL? - PullRequest
1 голос
/ 02 августа 2020

Доброе утро! В настоящее время я работаю над созданием базы данных postgreSQL с некоторой информацией о клиентах, однако я столкнулся с проблемой, которую я не смог решить, имея базовые c знания SQL. Поиск этого метода также не дал результатов, которые я нашел полезными или применимыми.

У меня есть две таблицы: mskMobile и emailData. Обе эти таблицы содержат столбец с именем «электронная почта», и некоторые из этих писем пересекаются. Я понял, что могу просмотреть эти пересекающиеся электронные письма, запросив

SELECT "mailData".email
  FROM "mailData"
  JOIN "mskMobile"
  ON "mailData".email="mskMobile".email;  

. Теперь я хочу записать данные двух других столбцов этих общих строк в mskMobile с именами «name» и «surname» в соответствующие столбцы в "emailData" (названы одинаково), однако я не могу найти ответа, как это сделать. Есть предложения, как выполнить это действие?

Ответы [ 2 ]

0 голосов
/ 02 августа 2020

После небольшого исследования я придумал следующий способ его объявления:

SELECT "mailData".email, "mskMobile".num, "mskMobile".name
  FROM "mailData"
  INNER JOIN "mskMobile"
  ON "mailData".email="mskMobile".email; 

Это позволило мне построить новую таблицу с объединенными данными.

0 голосов
/ 02 августа 2020
UPDATE "mksMobile" SET name = "mailData".name, surname = "mailData".surname
FROM "mailData"
WHERE "mailData".email = "mskMobile".email;
...