Php 在一个查询中访问3个表

Php 在一个查询中访问3个表,php,mysql,Php,Mysql,我想将数据从一个表复制到另一个表。怎么做 $P_studentnumber=mysql_real_escape_string($_POST['studentnumber']); $P_subjectcode=mysql_real_escape_string($_POST['subjectcode']); $P_semester=mysql_real_escape_string($_POST['semester']); $sql "INSERT units INTO grades (units)

我想将数据从一个表复制到另一个表。怎么做

$P_studentnumber=mysql_real_escape_string($_POST['studentnumber']);
$P_subjectcode=mysql_real_escape_string($_POST['subjectcode']);
$P_semester=mysql_real_escape_string($_POST['semester']);

$sql "INSERT units INTO grades (units) FROM subjects WHERE subjectcode='$P_subjectcode'"; //<--THIS IS THE PART THAT I WOULD WANT TO ADD

$sql="INSERT INTO grades (studentnumber,course, subjectcode, semester, instructorname, units) SELECT '$P_studentnumber', course, '$P_subjectcode', '$P_semester','$instructorname', 'units' FROM students WHERE studentnumber='$P_studentnumber'";
$P_studentnumber=mysql_real_escape_字符串($_POST['studentnumber']);
$P_subjectcode=mysql_real_escape_字符串($_POST['subjectcode']);
$P_seurm=mysql_real_escape_字符串($_POST['seurm']);
$sql“在科目代码为“$P_subjectcode”的科目的成绩(单位)中插入单位// 您可以尝试:

INSERT table1(col1,col2) SELECT col1,col2 FROM table2
像这样试试

插入站点\u常量\u说明 选择站点\常量\说明\新建* 来自站点\常量\描述\新站点\语言 其中site_language.site_language_id=site_常量_description_new.site_language_id


cheers

选择…插入语句的正确SQL语法是:

INSERT INTO tableA (colA, colB, colC)
SELECT colA, colB, colC
FROM tableB
WHERE colA = 'valueHere' -- this statement here is the condition
您必须记住,列名(或字段)必须相互匹配。如果要插入的列不匹配,您仍然可以插入,但您将为此提供一个别名

INSERT INTO tableA (colA, colB, colC)
SELECT fieldA as colA, fieldB as colB, fieldC as colC
FROM tableB
WHERE fieldA = 'valueHere' -- this statement here is the condition
联接的
表相同:

INSERT INTO tableA (colA, colB, colC)
SELECT tableB.fieldA as colA, tableB.fieldB as colB, tableC.fieldC as colC
FROM tableB INNER JOIN tableC ON tableB.fieldA = tableC.fieldA
WHERE tableC.fieldA = 'valueHere' -- this statement here is the condition