【问题标题】:How can i display unique fields in mysql result after join multiple tables with same field names?加入多个具有相同字段名称的表后,如何在 mysql 结果中显示唯一字段?
【发布时间】:2013-09-28 10:53:51
【问题描述】:

以下查询连接 3 个表:

select * from product_group_pids as pgp  

join product_group_attributes pga on pga.group_id=pgp.group_id

join product_group_attribute_values pgav on pgav.group_id=pgp.group_id

where pgp.group_id = (219138)

在所有 3 个 group_id 退出的表中,Result 将显示 3 次相同的 group_id。如何限制只显示一次?为表中的多个字段显式指定别名没有意义。我可以得到任何建议来限制加入语句吗?

【问题讨论】:

    标签: mysql join unique alias


    【解决方案1】:

    您可以尝试使用NATURAL JOINUSING 而不是ON。这会将两个使用过的列合二为一。

    【讨论】:

      【解决方案2】:

      最后我找到了一些替代方案:

      MySQL joins: ON vs. USING vs. Theta-style
      
      
      SELECT * FROM film JOIN film_actor ON (film.film_id = film_actor.film_id)
      **SELECT * FROM film JOIN film_actor USING (film_id)**
      SELECT * FROM film, film_actor WHERE film.film_id = film_actor.film_id
      

      资源:here 我认为它会帮助一些人......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-08
        • 1970-01-01
        • 2017-03-03
        • 1970-01-01
        • 1970-01-01
        • 2022-09-30
        • 2010-10-03
        • 2011-05-17
        相关资源
        最近更新 更多