【问题标题】: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 JOIN 或USING 而不是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
我认为它会帮助一些人......