python - 基于另一个表中的相似性从同一个表更新 SQL
问题描述
我有两张桌子t1
和t2
. t1
有这些列:id, name, cost
。t2
有id, col1, col2, typeid
。
id
s 在 中是唯一的t2
。
两者通过id
. typeid
是 1 或 2。
我想更新类型 2 ( typeid=2
) 产品的成本,如下所示:
对于每个类型 2 产品,t1
检查是否存在具有相同col1
和col2
in的类型 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 更新,我将如何做到这一点?
解决方案
推荐阅读
- node.js - 猫鼬填充过滤器
- python - 使用 Python 的 Dremio ODBC
- android - 使用 Android Studio 构建简单的用户界面
- flutter - 使用 PDFViewerScaffold 后底部图标被破坏
- reactjs - 在 reactjs 的输入字段中格式化和设置电话号码
- python - 如何根据数据框中的其他列值更改列值?
- xml - Powershell 错误无法转换 System.Xml.XmlNamespaceManage
- c - 错误:取消引用指向不完整类型的指针 - C 语言
- docker - 将现有容器从 Hyper-V 迁移到 WSL2 技术
- python - 如何停止在线程中运行的 aiohttp 服务器?