1
我有以下4個MySQL表如何更新基於其他3個表
Region
RegionId
City
CityId
RegionId
Hotel
HotelId
CityId
HotelRegion
HotelId
RegionId
我掙扎寫一個UPDATE語句從HotelRegion表中的數據更新City表的RegionId領域的MySQL表。
基本上我怎樣才能更新城市表與正確的RegionId,其中HotelRegion表中的HotelId與城市表的CityId相匹配。
這是目前
UPDATE City c
SET c.RegionId =
(SELECT DISTINCT(HotelRegion.RegionId) FROM HotelRegion
INNER JOIN Hotel ON Hotel.HotelID = HotelRegion.HotelID
INNER JOIN City ON City.CityId = Hotel.CityId
WHERE City.CityId = 1233)
WHERE c.CityId = 1233
該錯誤消息我得到的是你不能指定目標表「C」的更新在FROM子句我的UPDATE語句。 請讓我知道如果你需要更多的信息來幫助回答我的問題
基於我的問題希望得到一些指點而不是一個模糊的迴應。 – Tommassiov
你的表結構讓我感到困惑。如果酒店表通過城市ID鏈接到城市表格並且城市ID表格與該地區有鏈接,那麼爲什麼HOTELREGION表格存在?這是否與HOTEL表中的信息重複? – Kassabba
因爲此時RegionId爲NULL。因此,我需要從HotelRegion獲取數據,例如我知道哪個地區和城市有酒店。但系統不知道某個城市所在的地區。 – Tommassiov