1

admissionから にデータを挿入したいstudent

INSERT INTO student(name,age) SELECT name, age from admission

studentしかし、ここで:にさらに 2 つのフィールドを追加する必要がありusernamepasword同時に からデータを選択しています。admission

例:

INSERT INTO student(name,age,username, password)
  SELECT name, age
    FROM admission.....

これどうやってするの?

4

3 に答える 3

1

あなたが書いたクエリ:

INSERT 
  INTO student(name,age) 
  SELECT name, age from admission

正しい。との行は一致する必要がSELECTあります。INSERT

ただし、フィールドがどこから来ているのかわかりませusernamepassword。それらが同じadmissionテーブルにある場合、@johnWooの答えは正しいです。テーブルにこれらの値が含まれていない場合は、次を使用できます。

update Student set username=
(select username from <table> and <condition>)
where <condition> 

はフィールド<table>を含むテーブルです。username

<condition>行を識別する方法によって異なります

または、おそらくjoin2つのテーブル、つまり、単一のクエリで操作を含むadmissions他のテーブルusernamepasswordinsert

INSERT 
  INTO student(name,age,username,password) 
    SELECT a.name, a.age, b.username, b.password
      FROM admission a
      JOIN <table> b ON a.username = b.username
      ....
于 2012-09-06T16:54:15.423 に答える
1

usernameとの値がどこから来ているのかわかりませんが、の列の数と一致するように仮想列 (デフォルト値)passwordを作成できます。例、INSERT INTO

INSERT INTO student(name,age,[username], [password]) 
SELECT name, age, 'userHere' as [username], 'passHere' as [password]
from admission.....
于 2012-09-06T16:44:34.270 に答える
0

両方の新しいフィールドが null 可能である場合は、次のことができます。

INSERT INTO student(name,age,username, password)
SELECT name, age, null, null 
FROM admission
于 2012-09-06T19:41:59.403 に答える