Обновление SQL таблицы преобразования varchar в int - PullRequest
2 голосов
/ 30 мая 2020

В настоящее время у меня есть таблица new_funeralhomes, как показано ниже, в которой есть новые данные i wi sh для добавления в другую таблицу:

enter image description here,

В этой таблице, Я могу легко отправить адрес, почту, телефон, веб-сайт и электронную почту в эту таблицу addressTest:

enter image description here.

Однако, как вы можете видеть из таблицы new_funeralhomes, город / штат являются текстовыми значениями, а во второй таблице (addressTest) они представляют собой значения типа int, соединяющиеся с этими таблицами:

city:

enter image description here,

province:

enter image description here.

Как мне go об обновлении addressTest таблица с новым городом и провинцией? Значения iid и id совпадают и везде одинаковы.

Я новичок в этом, так что любая помощь будет принята с благодарностью, спасибо.

1 Ответ

2 голосов
/ 30 мая 2020

Кажется, вы ищете выражение insert ... select с join s. Logi c:

insert into addressTest
    (address, province, postcalcode, city, primaryphone, secondaryphoe, website)
select
    n.address
    p.id,
    n.postcal,
    c.id,
    n.phone,
    n.phone2,
    n.website
from new_funeralhomes n
inner join city c on c.name = n.city
inner join province p on p.name = n.state

Примечание: кажется как будто исходная таблица имеет меньше столбцов, чем целевая; Я адаптировал список столбцов для того, что кажется совпадающими столбцами - вам может потребоваться просмотреть его, чтобы он должным образом соответствовал вашим требованиям (но join logi c, который составляет суть вашего вопроса, остается прежним).

...