SQL - 插入集合和动态数据的组合

问题描述 投票:0回答:1

我需要将集合和动态数据的组合插入表中。

例如,我有一个名为“Sports”的表,想要将设定值“Soccer”插入到“SportName”列中;我还想将动态值(ID)“ghi3”插入“NumberOfPlayersID”列,该列在“NumberOfPlayersLnk”表中设置,例如

NumberOfPlayersID | Players
abc1              | 5
def2              | 7
ghi3              | 11

请注意,“NumberOfPlayersLnk”表中的 ID 不是硬编码的,并且会随着数据库的重新创建而改变。

我尝试从“NumberOfPlayersLnk”表中声明“NumberOfPlayersID”,并在插入语句中添加一个选择,该语句获取与我要插入的值相对应的 ID,然后指定之后的设置值,但后来我了解到

SELECT
语句不能与
INSERT INTO VALUES
一起使用,所以我不确定如何重新格式化我的语法。

这是我之前尝试过的示例:

DECLARE @NumberOfPlayersID uuid
SELECT @NumberOfPlayersID = NumberOfPlayersID FROM NumberOfPlayersLnk WHERE Players = '11'
INSERT INTO Sports (SportName, NumberOfPlayersID)
VALUES ('Soccer', @NumberOfPlayersID)

预先感谢您的支持。

sql database select insert declare
1个回答
0
投票

您可以进行插入选择,例如:

INSERT INTO Sports (SportName, PlayersID)
SELECT 'Soccer', NumberOfPlayersID
FROM NumberOfPlayersLnk
WHERE Players = '11'
© www.soinside.com 2019 - 2024. All rights reserved.