使用这些表:
表1
Date | Barcode | Sold | AmountSold
表2
Barcode | Description | RetailPrice
00001 Item1 1.00
00002 Item2 2.00
00003 Item3 3.00
00004 Item4 4.00
00005 Item5 5.00
有没有办法使用 INSERT
到 Table1
,如下所示:
INSERT INTO dbo.Table1
VALUES ('07/11/2017', '00003', 5, (? * 5))
?
为 00003
的 RetailPrice
(即 3.00
)> 来自 Table2
,然后乘以 Sold
(即 5
)?
我偶然发现了INSERT INTO SELECT
,但这要求将插入的所有列都具有来自 SELECT
的匹配值,而我不需要。
注意:前三个值将来自外部源,因此第四个值将是唯一需要来自另一个表的值
我当然可以在插入之前先使用另一个查询来获取RetailPrice
,但我避免使用这种方式来减少加载时间。
最佳答案
我相信您正在追求这样的东西:
INSERT INTO dbo.Table1 (Date, Barcode , Sold , AmountSold)
SELECT '07/11/2017', '00003', 5, 5 * RetailPrice
FROM Table2
-- WHERE Barcode = 'XXX'
关于sql-server - 使用 INSERT 查询,其中一列来自另一表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45457441/