【发布时间】:2015-09-01 15:54:16
【问题描述】:
这是一个挑战: 我有三张桌子。 我需要用查询结果填充 table_1。 此查询的输入是 table_1 的 id。我该怎么做?
谢谢。
我已经试过了
UPDATE table_1 AS a
INNER JOIN
(
SELECT s.some_name
FROM table_2 as st
JOIN table_3 AS s ON s.a_id = st.a_id
ORDER BY st.somefiled DESC
LIMIT 1
) AS b ON a.a_id = b.a_id AND a.t_id = b.t_id
SET a.some_name = b.some_name
但这给了我错误
1054 - “on 子句”中的未知列“b.a_id” 虽然,a_id 存在于 table_2 和 table_3 中
提前谢谢你
【问题讨论】:
-
如果您愿意,请考虑遵循以下简单的两步操作: 1. 如果您还没有这样做,请提供适当的 DDL(和/或 sqlfiddle),以便我们可以更轻松地复制问题。 2. 如果您还没有这样做,请提供与步骤 1 中提供的信息相对应的所需结果集。在这种情况下,这可能是查询前后表的外观示例。
-
您还必须在选择列表中指定 Id 列。
-
@Strawberry 感谢您的帮助。我认为 Ankit 已经回答了这个问题。
-
您有权发表自己的观点。