SQL子查询的多个returend值

SQL子查询的多个returend值,sql,postgresql,subquery,Sql,Postgresql,Subquery,我使用的是PostgreSQL 9.1,我编写了以下SQL语句: INSERT INTO "Tracking" VALUES ((SELECT "studentID" FROM "Student" WHERE "studentClass"='2'),false,4,false); 问题在于子查询: SELECT "studentID" FROM "Student" WHERE "studentClass"='2' 返回多个值,并且应该这样做(我希望每个子查询返回的值都执行主查询),但是通过

我使用的是PostgreSQL 9.1,我编写了以下SQL语句:

INSERT INTO "Tracking" VALUES 
((SELECT "studentID" FROM "Student" WHERE "studentClass"='2'),false,4,false);
问题在于子查询:

SELECT "studentID" FROM "Student" WHERE "studentClass"='2'
返回多个值,并且应该这样做(我希望每个子查询返回的值都执行主查询),但是通过这种方式查询将不会执行。有什么想法吗?

试试这个:

INSERT INTO "Tracking" 
SELECT "studentID",false,4,false
FROM "Student" WHERE "studentClass"='2'
试试这个:

INSERT INTO "Tracking" 
SELECT "studentID",false,4,false
FROM "Student" WHERE "studentClass"='2'

然后使用
插入到。。。选择
语句

INSERT INTO "Tracking" 
SELECT "studentID" , false , 4 , false
FROM   "Student" 
WHERE  "studentClass" = '2'

关于此语句,需要确保的一件事是确保表
Tracking
仅包含4列,否则将得到与提供的值不匹配的列数。例如,如果有超过4列,请在
INSERT
子句中定义要保存这些值的列名。

然后使用
INSERT-INTO。。。选择
语句

INSERT INTO "Tracking" 
SELECT "studentID" , false , 4 , false
FROM   "Student" 
WHERE  "studentClass" = '2'
关于此语句,需要确保的一件事是确保表
Tracking
仅包含4列,否则将得到与提供的值不匹配的列数。例如,如果有超过4列,请在
INSERT
子句中定义要保存这些值的列名