【问题标题】:How to perform JOIN operation and to remove duplicate rows, using PHP + MySQL?如何使用 PHP + MySQL 执行 JOIN 操作并删除重复行?
【发布时间】:2015-12-08 09:25:08
【问题描述】:

我有两个如下表:

table-a

table-b

颜色代码显示表的条目是如何相关的。 table-a 显示项目名称及其组成标签(让它成为其成分/组件的 ID)。表-b 显示了该项目可用的形式,例如,项目1111 在杯子中可用,项目2222 在圆锥和棒等中。我需要的是,当我给tagid 时,我想检索可用的相应types。

如果它给101,102,它应该返回;

cup

如果它给101,103,它应该返回;

cone
bar
cup

第二种情况,注意它实际上是返回

cone
bar
cone
cup

但我不希望cone 被重复。我不想要重复的行。

我该怎么做?这是某种JOIN 操作吗?我使用 PHP+MySQL。单独使用 MySQL / 在 PHP 的帮助下是否可以做到这一点?

【问题讨论】:

  • 您可以使用特定 ID 分组
  • SELECT DISTINCT 是要走的路。 (当不涉及聚合函数时为什么要分组...?)

标签: php mysql sql join


【解决方案1】:

MySQL 查询示例:

select distinct type
from tableb b inner join tablea a on b.product = a.item
where a.tagid IN (101,103)

【讨论】:

    【解决方案2】:
    SELECT tableb.type 
    FROM tableb INNER JOIN tablea ON tablea.item = tableb.product
    WHERE tablea.tagid IN ('YOUR-IDS-ARRAY')
    GROUP BY tableb.type;
    

    【讨论】:

      【解决方案3】:
      select type from tableb b inner join tablea a on b.product = a.item where a.tagid IN (101,103) group by type
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-15
        • 1970-01-01
        • 1970-01-01
        • 2016-01-16
        • 1970-01-01
        • 2021-01-05
        • 2015-05-23
        • 2017-08-11
        相关资源
        最近更新 更多