【发布时间】:2015-09-16 14:24:10
【问题描述】:
我有一张这样的桌子:
| Name | Parent Id | Pricing Id | Paper Id |
|------------------------------------------|
| | | | |
我想插入的。问题是,客户不知道 ID,只知道 Parent/Pricing/Paper 表中名称字段的值:
| Name | Parent Id | Pricing Id | Paper Id |
|------------------------------------------|
|Narnia| Movies | MidTier | Film |
|Transf| Movies | HighTier | Comic |
Movies、MidTier/HighTier 和 Film/Comic 需要转换为整数...这是伪查询:
INSERT INTO products (Name, ParentId, PricingId, PaperId)
VALUES (
"Narnia",
SELECT id FROM categories WHERE Name="Movies",
SELECT id FROM pricing WHERE Name="MidTier",
SELECT id FROM papers WHERE Name="Film"
)
显然这行不通,但正确的做法是什么?
编辑:请注意,效率并不是一个超级优先事项,因为这将是一次性导入(数十万种产品)。
【问题讨论】:
-
你的问题到底是什么?
-
@cybork 编辑前的最后一句话。
标签: sql select sql-insert