【问题标题】:MySQL Outer Join 3 TablesMySQL外连接3表
【发布时间】:2017-08-20 03:07:06
【问题描述】:

我有 3 个 sql 表,我想在 html 中创建 1 个表

这些表格是:

Norm (norm_id, name, description, cluster_cluster_id, orden_orden_id)
Cluster (cluster_id, cluster_name)
Orden (orden_id, orden_name)

表格必须包含:

norm_id - norm_name - norm - description - cluster_name - orden_name

我认为我需要使用左外连接来执行此操作?

以及如何在表格中显示?

我现在有

    while($row = mysqli_fetch_array($result)){
        echo "<tr>";
            echo "<td>" . $row['norm_id'] . "</td>";
            echo "<td>" . $row['norm_name'] . "</td>";
            echo "<td>" . $row['description'] . "</td>";
            echo "<td>" . $row['cluster_name'] . "</td>";
            echo "<td>" . $row['orden_name'] . "</td>";
        echo "</tr>";
    }

【问题讨论】:

  • 你可以使用左连接..
  • lol LEFT JOIN 就可以了。加入集群并按照相关 ID 的规范进行排序。 SELECT N.col1,N.col2,etc FROM Norm N LEFT JOIN Cluster C ON N.cluster_cluster_id = C.cluster_id LEFT JOIN Orden O ON N.orden_orden_id = O.orden_id

标签: mysql sql left-join outer-join


【解决方案1】:

您可以像SELECT column-names FROM table-name1 LEFT JOIN table-name2 ON column-name1 = column-name2 WHERE condition一样进行左外连接

【讨论】:

  • 应该是...ON Table1.column_name = Table2.column_name。如果我错了也请纠正我,但我认为破折号 (-) 不是用于命名列的有效字符。
  • 仅供参考,不,你错了。您可以根据您使用的数据库语言创建这样的列名。这当然不是一个好的约定,但这只是一个让事情更清楚的例子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-21
  • 2023-03-03
  • 1970-01-01
  • 2018-03-05
  • 2016-08-31
  • 1970-01-01
相关资源
最近更新 更多