这就是我想要做的。
我有一个名为“software”的空表,其中包含:key,computerID和softwarename。我有一个名为“设备”的第二个表(其中包含设备ID和项目类型),它有数千个项目,其中只有一些是计算机(所以我试图过滤“itemtype = computer”)
key|itemID |itemname |otherstuff
1 |4533 |television |blah, blah
1 |3823 |computer |blah, blah
1 |1111 |couch |blah, blah
1 |3423 |computer |blah, blah
1 |1234 |computer |blah, blah
1 |9999 |couch |blah, blah
1 |8823 |computer |blah, blah
我想用所有计算机(computerID)和一个固定名称(比如“Windows”)填充“软件”表,以便最后我有这样的东西。
key|computerID |softwarename
1 |3823 |Windows
2 |3423 |Windows
3 |1234 |Windows
4 |3126 |Windows
5 |8823 |Windows
等...列表中的1000台计算机中的每台计算机。然后,我会为每台计算机上的其他软件运行它几次。
我能找到的所有例子都指向我从另一个连接表插入行,这不是我想要做的。
在切线上,是否有一个非常好的资源可以提供不同SQL查询和解释的示例?我真的很想独立处理硬查询。
谢谢!
答案 0 :(得分:2)
您可以使用INSERT ... SELECT
,但SELECT
中的一列是常量。
INSERT INTO software (computerID, softwarename)
SELECT itemID, "Windows"
FROM equipment
WHERE itemname='Computer'
;
答案 1 :(得分:0)
如果您不想从另一个表中插入行,那么您可以试试这个 对于MySQL
SELECT @i:=@i+1 As 'Key', equipmentID as computerID, 'Windows' as softwarename
FROM equipment
WHERE itemtype='computer'