我有一個數據庫有兩個表: 「服務」和「service_performance」 這兩個表有一個SERVICE_ID列。MySQL更新列值與另一列的最大值
在「服務」中,SERVICE_ID值是唯一的(每個服務都有一個ID /條目)。 在「service_performance」有每service_id爲
我試圖更新「服務」表從「service_performance」表中獲取的最高AVERAGE_MEMORY值MAX_VALUE列多個條目的AVERAGE_MEMORY列。
我知道我的查詢是錯誤的,因爲它拋出一個錯誤:
1054 - 中未知列'service_performance.SERVICE_ID 'where子句'
雖然 'service_performance.SERVICE_ID' 確實存在。
這裏是我的查詢:
update _services
set MAX_VALUE = (SELECT MAX(AVERAGE_MEMORY) AS SERVICE_ID FROM service_performance)
where exists
(select *
from services
where `services`.`SERVICE_ID` = `service_performance`.`SERVICE_ID`);
您的表「Service_Performance」是否有名爲「SERVICE_ID」的字段? –
如果您願意,可以考慮遵循以下簡單的兩步操作步驟:1.如果您尚未這樣做,請提供適當的DDL(和/或sqlfiddle),以便我們可以更輕鬆地複製問題。 2.如果您尚未這樣做,請提供與步驟1中提供的信息相符的預期結果集。 – Strawberry