如果不向你展示我所拥有的东西,就很难解释这个问题,所以我们将从那开始:
查询:
SELECT goodies.title FROM `goodies` LEFT JOIN `goody_images`
ON goodies.id=goody_images.goodie_id
Run Code Online (Sandbox Code Playgroud)
原始结果:
糖果
糖果
帽
问题:
它为每个连接值产生额外的结果.由于两人在entires的goody_images有一个goodie_id的1,它打印相应的标题从糖果的两倍,因此,为什么我们看到的结果是糖果的两倍.无论匹配JOIN结果的数量是多少,我都需要它只给我一次标题.
这是可能的,还是我最好运行两个单独的查询?
在PHP的上下文中,我试图获得两个值:
- 标题为
-And和带有匹配图像的数组.
所有这些已经完成的编程完全可以运行 - 问题只在于正确地获得结果.
+ 上面的查询是为了简单起见而缩写的
要么使用 distinct
SELECT distinct goodies.title
FROM `goodies`
LEFT JOIN `goody_images` ON goodies.id=goody_images.goodie_id
Run Code Online (Sandbox Code Playgroud)
要么 group by
SELECT goodies.title
FROM `goodies`
LEFT JOIN `goody_images` ON goodies.id=goody_images.goodie_id
GROUP BY goodies.title
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
43 次 |
最近记录: |