1
我有2個MySQL表。如何根據JOIN表中的SELECT MAX()更新MySQL表
TableA
ID Total
01 0
02 0
03 0
...
99 0
TableB
ID Name Points Year
01 Joe 4 2013
01 Bill 2 2013
02 Sam 10 2013
02 Barb 1 2013
02 Joan 7 2013
...
15 Fred 0 2013
15 Jan 3 2013
...
我想從Table B
在Total
列基於ID
的MAX(Points)
值存儲在Table A
我有一個MySQL查詢得到我的MAX(Points)
。在循環遍歷從我的MAX()
查詢得到的結果集的同時,我沒有編寫單獨的UPDATE
查詢,而是想知道是否可以在一個MySQL查詢中使用Join和SET SELECT
來完成這一切。
這可能將2個查詢合併爲1嗎?
這裏是我的MAX()查詢:
$result = mysql_query('
SELECT id, MAX(Points)
FROM TableB
WHERE year = "' . date('Y') . '"
GROUP BY id
') or die(mysql_error());
while ($row = mysql_fetch_row($result)) {
mysql_query('
UPDATE TableA
SET Total = "' . $row[1] . '"
WHERE id = "' . $row[0] . '"
') or die(mysql_error());
}
mysql_free_result($result);
感謝
我試了一下@nurdglaw並得到了'無效的使用組功能' –
好的。等一下,我會做一個測試並回復你。 – nurdglaw
謝謝@nurdglaw。我喜歡這可能工作的可能性。我很感謝你的編碼幫助。 –