У меня есть три таблицы:Изменение таблицы данных
Таблица 1: (Consumer)
UserName | FirstName | LastName
'Magika12' 'Ronald' 'Ludwig'
Таблица 2: (ConsumerLocation)
UserName | LocationID
'Magika12' 13234
Таблица 3: (Location)
LocationID | StreetNumber | StreetName | Suburb | City | Postalcode
13234 13 Baker Street Melton Brisbane 4242
И я хотел бы изменить addres s из Magika12
этого вместо:
"124 Braelands Crescent, Albion, Melbourne, 9999"
Причем новая таблица будет выглядеть следующим образом:
LocationID | StreetNumber | StreetName | Suburb | City | Postal code
13234 124 Braelands Crescent Albion Melbourne 9999
Я пытался что-то вроде этого:
UPDATE
L1
SET
L1.StreetNumber = 124,
L1.StreetName = 'Braelands Crescent',
L1.Suburb = 'Albion' ,
L1.City = 'Melbourne',
L1.Postalcode = 9999
FROM Location L1
INNER JOIN ConsumerLocation
WHERE ConsumerLocation.UserName = 'Magika'
Я знаю, что это не правильно, Но я не знаю, как соединить все таблицы вместе, чтобы обновить адрес Magika12
. Я сделал UserName
первичный ключ Consumer
и основной внешний ключ ConsumerLocation
. И LocationId
первичный ключ Location
и первичный внешний ключ Consumer Location
.
Любая помощь будет оценена
Почему вы используете второе соединение? – Evgeny
К сожалению, я прочитал информацию о таблицах, поскольку имя пользователя было только в таблице Consumer. Я исправляю свой ответ. Спасибо. – Dez
Спасибо за ответ. Я получил эту ошибку: 'Код ошибки: 1054. Неизвестный столбец 'CL.LocationId' in 'on clause'' – RoadRunner