将两个表的值相加


Join the values of 2 tables

我有两个表,无法将这些表的值合并到table2中。

Table1:
id | studnum | fname | lname | mname
1  | 1001    | Mark  | Lei   | Ramos
Table2:
id | studnum | remarks

当我将值输入到表2中时,表1中的studnum是否也会输入到表2中?

我试过了,但没用。

 $sql = "SELECT table1.studnum FROM table1, table2
         WHERE table1.studnum = table2.studnum";

因此,表2将像这样输出

 id | studnum | remarks
 1  | 1001    | good

您想要的是使用JOIN语句。

如果他们之间的共享密钥是studnum,你可以做

SELECT * FROM table1
JOIN table2
ON table1.studnum = table2.studnum

尝试MySQL联接函数。示例:

SELECT *
FROM table1
JOIN table2
ON table1.studnum=table2.studnum;

更多关于加入的阅读:http://www.keithjbrown.co.uk/vworks/mysql/mysql_p5.php

如果这些正是您的表,那么您并不真正需要您所请求的内容,因为这违背了规范化。

如果表1中的条目只有一条注释或没有注释,则不需要表2,注释应在表1中。

如果表1中的一个条目需要多个注释,则表2中不需要stdnum。如果您在这个场景中的问题是构造一个查询来获得基于stdnums的remakr,那么您可以通过一个关节轻松地实现这一点。

您应该为记录/对象从一个表复制到另一个表的唯一字段是id。为了提高效率,您可以(也可能应该)节省规格化,但您的示例并非如此。