【问题标题】:How to remove the same name occurrences in mysql left join?如何删除mysql左连接中出现的同名?
【发布时间】:2017-05-20 20:05:46
【问题描述】:

我正在使用以下查询。

SELECT DISTINCT ph.module_head_id,
  ph.module_head, pm.module_id, 
  pm.module_name, pm.module_url
FROM pms_module_header ph
LEFT JOIN pms_module pm
ON ph.module_head_id = pm.module_head_id

现在我得到以下输出

Module_head_id  Module_head module_id module_name module_url
  1               dashboard     Null    Null        Null
  2                Employee      1      Add        test.php
  2                Employee      2      View       test1.php
  3               Report         3      Project    project.php
  3               Report         4      Client     client.php

如何去除module_head中出现的同名

我想在 codeigniter 视图中显示这些输出

dashboard
  Employee Add 
           View
  Report   Project
           Client

我正在使用 array_unique 函数,但它不起作用。请帮助我

【问题讨论】:

  • 你想在视图中显示这样的输出吗?
  • 是的,我想在 codeigniter 视图中显示。它是否可用任何 php 函数。
  • 检查我的编辑部分答案
  • 它工作得很好,谢谢

标签: php mysql arrays codeigniter


【解决方案1】:

这里是查询,

SELECT DISTINCT ph.module_head_id,
  ph.module_head, pm.module_id, 
  pm.module_name, pm.module_url
FROM pms_module_header ph
LEFT JOIN pms_module pm
ON ph.module_head_id = pm.module_head_id
group by ph.module_head_id

只需在 module_head_id 上应用 group by 即可。

编辑

<table border="1" width="100%">
    <tr>
        <th>Module head</th>
        <th>Module name</th>
    </tr>
    <?php
    $module_head = '';
    foreach ($arr as $k => $v) {
        echo "<tr>";
        echo "<td>";
        if ($v['module_head'] == '' || $v['module_head'] != $module_head) {
            $module_head = $v['module_head'];
            echo $v['module_head'] . "<br/>";
        } else {
            echo " ";
        }
        echo "<td>";
        echo "<td>" . $v['module_name'] . "</td>";
        echo "<tr>";
    }
    ?>
    <table>

根据您的观点进行操作。它会起作用的。

【讨论】:

  • 用户没有指定类似的东西。但我的查询工作正常。为什么要投反对票?
  • 在使用group by时不强制使用聚合函数。
  • 我的意思是它会根据指定的列给出最后找到的结果,所以它可能无法给出你需要的结果。
猜你喜欢
  • 2013-12-20
  • 1970-01-01
  • 2016-08-17
  • 2015-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-30
  • 1970-01-01
相关资源
最近更新 更多