以下查询连接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将显示相同group_id的3倍。如何限制只显示一次?为表中的多个字段显式指定别名没有意义。我能得到任何限制join语句的建议吗?
发布于 2013-09-28 18:56:48
您可以尝试使用NATURAL JOIN或USING而不是ON。这将把两个用过的列合并成一个列。
发布于 2013-09-28 19:04:04
最后,我找到了一些替代方案:
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我认为它会对某些人有所帮助。
https://stackoverflow.com/questions/19066142
复制相似问题