我收到了一个包含两列永久表Quota_our
和Quota_theirs
的数据库。对于我的每一行如果一行不为空,另一列为空,我需要有一列才能使用我尝试更新其中一个列,一旦记录被交换,我将删除另一个表。
事情是我不是真正进入MySql,但我需要这个数据库用于侧面项目我尝试嵌套选择,因为你无法设置更新从同一个表中的选择获取值,所以我尝试了这个:
UPDATE permanent
SET Quota_our = (
SELECT q
FROM (
SELECT Quota_theirs AS q, CT_NUM AS code_x
FROM permanent
WHERE Quota_our = 0 OR Quota_our IS NULL
)
) AS A
WHERE
A.code_x = permanent.CT_NUM AND
permanent.CT_NUM IS NOT NULL
但是我得到了这个错误:
where子句中的未知字段'A.code_x' 我已经很好地搜索了任何相关的问题,所有人都无法让我朝着正确的方向前进。
答案 0 :(得分:1)
我同意,错误信息在这里有点误导。实际上,它应该说<input type="checkbox" [checked]="test.check === 'Y'"
value="{{test.roomNum}}"
check-list="checkedModel.roomNum">{{assign.roomNum}}
,根本原因会更清楚。
问题是unknown table A
字段是在为code_x
字段赋值时创建的派生表A
中定义的。但是,为了在Quota_our
子句中引用字段(井,表),该表必须列在update statement的where
部分中:
table_reference
您可以使用多表UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET assignment_list
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
语句来解决此问题,从而避免使用子查询:
update