我有两个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
...
我想将基于ID
的Table B
中的MAX(Points)
值存储在Table A
的Total
列中
我有一个MySQL查询,它给了我MAX(Points)
。我想知道是否可以使用Join和某种类型的SET SELECT
在一个MySQL查询中完成所有这些,而不是在循环通过MAX()
查询的结果集时编写单独的UPDATE
查询。
是否可以将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);
谢谢
1条答案
按热度按时间fnx2tebb1#
尝试使用以下语句作为SQL语句: