別のテーブルから値を取得する必要があるテーブルに追加の行を挿入しようとしています。以下はクエリの例です。
insert into a.grades (rollno, grade)
values(select rollno from b.students where ssn=12345, 'A');
b.students
テーブルの構造はrollno, ssn, name
です。
上記のクエリが間違っていることは知っていました。行を挿入するときに他のテーブルから1つの値を取得する方法はありますか?
INSERT INTO a.grades (rollno, grade)
SELECT rollno, 'A' FROM b.students WHERE ssn = 12345;
一部のDBMSは、SELECTステートメントを括弧で囲んで、次のものを受け入れます。
INSERT INTO a.grades (rollno, grade)
VALUES((SELECT rollno FROM b.students WHERE ssn = 12345), 'A');
Insert intoおよびselectの列は等しい必要があります
insert into grades (field1, field2)
select field1,field2 from students where ssn=12345;
2つの異なるデータベースのテーブル!
ここでは、データベース2で使用される挿入クエリです!
INSERT INTO `or_details`(`per_name`) VALUES ( (SELECT person.per_details.per_name from person.per_details WHERE person.per_details.id=1001) );