更新基於一組的結果的表基於一組的結果的表我有我試圖解決一個棘手的更新問題。有跡象表明,含有相同的三列加上額外的多樣化列兩個表,看起來像這樣:更新由</p> <p>通過
Table1 {pers_id, loc_id, pos, ... }
Table2 {pers_id, loc_id, pos, ... }
領域都不是唯一的。前兩個字段共同標識一個或多個表中的記錄屬於同一個實體。 Table1可以有15條記錄屬於一個實體,而table2可以有4條記錄屬於同一個實體。第三列'pos'是從0到任何的索引,這是我試圖更新的列。
在表1和表2中,pos列從0開始,並且基於用戶選擇進行遞增,以便在示例中(table1中的15條記錄和table2中的4條記錄),table1包含'pos'值0 - 14,Table2包含0-3的'pos'值。
我想用Table2中類似實體的計數結果增加表1中的pos字段。這是SQL語句正確地讓我從表2的結果:
select table2.pers_id, table2.loc_id, count(*) as pos_increment from table2 group by table2.pers_id, table2.loc_id;
更新,在本例的最終結果(15條記錄中的表1和4個記錄表2),將是所有記錄同一實體的表1增加4(特定實體組的結果)。 0將改爲4,15到19等。
這是否可以在一個聲明中實現?
只是打我吧,演示[這裏](http://www.sqlfiddle.com/#!4/ ac2b4/1) – GarethD
完美 - 作品像魅力。謝謝。 – bill89654
請標記答案已被接受。謝謝。 –