我尝试使用以下查询更新表中的列。在那种情况下,更新32000行。为什么这两个sql的结果不同
Update Table72D012 t2 set DEFINING_ARGUMENT_ID =
(
SELECT t3.ID
FROM Table70t3 t3,
Table70t1 t1,
Table70t0 t0,
Table4 t4
WHERE t2.Model_id = t4.ID
AND t3.ID = t1.PARAM_VALUE_BPVA_ID
AND t3.VALUE_BPAR_ID = t0.ID
AND t0.KEY='SPECIAL_KEY'
AND t1.LANGUAGE='en'
AND t4.Model = t1.name
);
我想检查结果,我用下面的查询来获得相关ID的计数。我得到了26500结果..为什么结果(更新计数和选择结果计数)彼此不同?
我该如何纠正UPDATE查询?
只能选择
SELECT t3.ID
FROM Table70t3 t3,
Table70t1 t1,
Table70t0 t0,
Table72D012 t2,
Table4 t4
WHERE t2.Model_id = t4.ID
AND t3.ID = t1.PARAM_VALUE_BPVA_ID
AND t3.VALUE_BPAR_ID = t0.ID
AND t0.KEY='SPECIAL_KEY'
AND t1.LANGUAGE='en'
AND t4.Model = t1.name
您确实在一个查询中有't0.key ='ORDN',而另一个查询中是否有't0.key ='SPECIAL_KEY''? –
我错过了什么吗?在你的更新中,你使用't0.KEY ='ORDN'',但是当你选择时,你使用't0.KEY ='SPECIAL_KEY''? – LittleBobbyTables
这是一个打字错误,两个键都是SPECIAL_KEY – Kayser