SQL子查询的多个returend值
我使用的是PostgreSQL 9.1,我编写了以下SQL语句: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' 返回多个值,并且应该这样做(我希望每个子查询返回的值都执行主查询),但是通过
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
子句中定义要保存这些值的列名