私は3つのテーブルがあります。変更表情報
表1:(消費者)を
UserName | FirstName | LastName
'Magika12' 'Ronald' 'Ludwig'
表2:(ConsumerLocation)
UserName | LocationID
'Magika12' 13234
表3:(場所)
LocationID | StreetNumber | StreetName | Suburb | City | Postalcode
13234 13 Baker Street Melton Brisbane 4242
そして、私はアドレスを変更したいと思いますこの代わりにMagika12
のS:
"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
です。
すべてのヘルプは
なぜ2番目の結合を使用しますか? – Evgeny
ユーザー名がコンシューマテーブルにしかないので、テーブル情報を読みました。私は自分の答えを正す。ありがとうございました。 – Dez
答えをありがとう。私はこのエラーを受け取りました: 'Error Code:1054. 'on clause'の 'CL.LocationId'の不明な列 – RoadRunner