【发布时间】:2010-09-27 08:19:10
【问题描述】:
是否可以将 where 子句与 insert 语句一起使用。在我的场景中,我没有得到如何使用更新查询,因为子查询返回多个值。 我的查询是这样的。
INSERT EntityAttributeValue
(
EntityID
)
SELECT ID
FROM (SELECT ID
FROM (SELECT ID,
ROW_NUMBER() over(ORDER BY ID) Row
FROM Item
)
x
WHERE Row BETWEEN 1 AND 400
)
x
WHERE Value='10KT Gold'
我在这里要做的是,我在 EntityAttributeValue 表中有 EntityID 和 Value 列,而另一个表是包含 ID 的 Item 表。所以以这种方式加入 Item.ID = EntityAttributeValue.EntityID。现在,我想将 Item 表中的批量 ItemID 值插入到 values = '10KT Gold' 的 EntityAttributeValue 表中。
请告诉我。
【问题讨论】:
-
这个查询应该做什么?您有
WHERE Value='10KT Gold',但Value未作为派生表中的列返回。 -
您可能需要一个 IF...ELSE... 语句
-
嗨,史密斯,我在 EntityAttributeValue 表中有值列,所以我正在尝试将 Item 表中的“x”行插入到满足该值条件的 EntityAttributeValue 表中。
-
值不返回任何新列
-
您想要满足条件的前 400 名,还是希望先找到前 400 名,然后排除不满足条件的前 400 名?还有你在插入什么?只是身份证?如果不是,您的表结构是什么?
标签: sql sql-server