首页 > 解决方案 > 基于另一个表中的相似性从同一个表更新 SQL

问题描述

我有两张桌子t1t2. t1有这些列:id, name, costt2id, col1, col2, typeid

ids 在 中是唯一的t2

两者通过id. typeid是 1 或 2。

我想更新类型 2 ( typeid=2) 产品的成本,如下所示:

对于每个类型 2 产品,t1检查是否存在具有相同col1col2in的类型 1 产品t2,如果有,将类型 1 产品的成本分配给类型 2。如果没有任何类似的 Type 1,那么什么也不做。

python伪代码是这样的:

for row in t1:
    if t2[row.id].typeid==2:
        actualcol1=t2[row.id].col1
        actualcol2=t2[row.id].col2
        
        for rows in t2:
            if rows.typeid==1 and rows.col1=actualcol1 and rows.col2=actualcol2:
                actid=id
                row.cost=t1[actid].cost
                break

图表

作为 SQL 更新,我将如何做到这一点?

标签: pythonsqlsql-servertsqlsql-update

解决方案


推荐阅读