【问题标题】:Join the values of 2 tables连接 2 个表的值
【发布时间】:2015-03-03 02:58:30
【问题描述】:

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

Table1:

id | studnum | fname | lname | mname
1  | 1001    | Mark  | Lei   | Ramos

Table2:

id | studnum | remarks

是否有可能当我将值输入到 Table2 时,Table1 中的 studnum 也会输入到 Table2 中?

我试过了,但是没有用。

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

这样Table2就会像这样输出

 id | studnum | remarks
 1  | 1001    | good

【问题讨论】:

    标签: php html mysql select join


    【解决方案1】:

    您正在寻找的是使用 JOIN 语句。

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

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

    【讨论】:

      【解决方案2】:

      试试 MySQL 连接函数。示例:

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

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

      【讨论】:

        【解决方案3】:

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

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

        如果您需要表 1 中的单个条目的多个备注,则不需要表 2 中的 stdnum。如果您在这种情况下的问题是构造一个查询以获取基于 stdnums 的 remakrs,您可以轻松地实现这一点一个关节。

        对于记录/对象,您应该在表之间复制的唯一字段是 id。您可以(并且可能应该)牺牲标准化以提高效率,但您的示例并非如此。

        【讨论】:

          猜你喜欢
          • 2011-06-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-05-31
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多