我有一个问题。
我正在运行以下查询。我的数据库中只有一条记录,但我得到了 9 个结果。
SELECT c.id, c.rk
FROM cv AS c, employee AS e , cvCat AS cv_cat
WHERE c.status=1
AND c.empIDFK = e.id
AND cv_cat.categoryFK IN ( 17,18,19,38,39,40,41,44,45,46 )
AND cv_cat.cvFK = c.id
如果有人对此查询有任何问题,请告诉我。为什么我得到 9 个结果而不是 1 个结果。
这个查询应该只显示一条记录,但它显示了 9 个结果。
最佳答案
当你做的时候
FROM cv AS c, employee AS e , cvCat AS cv_cat
您正在对三个表进行隐式连接。如果你想获得不同的记录,你可以在你的选择之后添加 DISTINCT
:
SELECT DISTINCT c.id, c.rk
FROM cv AS c, employee AS e , cvCat AS cv_cat
WHERE c.status=1
AND c.empIDFK = e.id
AND cv_cat.categoryFK IN ( 17,18,19,38,39,40,41,44,45,46 )
AND cv_cat.cvFK = c.id
关于php - 显示 9 个结果的 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10805629/