SQL foreach使用表行

Lui*_*lez 5 sql ms-access

我有两个Access表.一个表(table1)有一个唯一的字段,MyID和另一个表(table2)有几行MyID和另一列Data.我想编写一个类似于foreach的SQL语句,其中选择MyID的所有值并从table2的Data中取平均值,然后在另一个字段Avg下的MyID行中更新.

**Table1**
MyID
ID1
ID2
ID3  

**Table2**
MyID   Data   Mon
ID2    10     Jan
ID2    20     Feb
ID1    10     Jan
ID3    30     Mar
ID1    30     Mar
Run Code Online (Sandbox Code Playgroud)

期待结果如下:

**Table1**
MyID    Avg
ID1     20
ID2     15
ID3     30
Run Code Online (Sandbox Code Playgroud)

也许在SQL中有更好的方法,但目前还不知道.

Joh*_*Woo 5

UPDATE  table1
        INNER JOIN
        (
            SELECT Data1, AVG(columnName) avgCol
            FROM table2
            GROUP BY Data1
        ) b ON table1.MyID = b.Data
SET     table1.avgColumnName = b.avgCol
Run Code Online (Sandbox Code Playgroud)