我是 SQL Server 新手,我正在尝试执行以下操作。
示例代码:
SELECT ITEM_ID
FROM 'TABLE_NAME_1'
WHERE ITEM_STATUS = 'ACTIVE'
SET @ITEM_PRICE = (SELECT PRICE
FROM 'TABLE_NAME_2'
WHERE 'PRODUCT_ID' = 'ITEM_ID')
INSERT INTO 'TABLE_NAME_3' (ITEM_ID, PRICE)
VALUES (@ITEM_ID, @ITEM_PRICE)
- 第一条语句将返回多行
ITEM_ID
- 通过使用
ITEM_ID
我需要选择ITEM_PRICE
使用第二条语句从另一个表
- 通过使用第三条语句,我需要将数据插入到第三个表中
这里第一个语句只返回一个ITEM_ID
,那么一切就很容易做到了。如果它返回多行,我该如何为所有的ITEM_ID
第一个语句返回了哪个?
实际上,如果第一个语句返回 5 行,我需要循环 5 次。
在 SQL Server 中是否可能,如果可以,请帮我做到这一点
问题是为什么不直接使用 SQL
INSERT
INTO 'TABLE_NAME_3'
(ITEM_ID
,PRICE
)
SELECT ITEM_ID,ITEM_PRICE
FROM 'TABLE_NAME_1' A
JOIN 'TABLE_NAME_2' B
ON A.ITEM_ID=B.PRODUCT_ID
WHERE A.ITEM_STATUS = 'ACTIVE'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)