我的sql语句有问题,我有两个表(ogrenci和taksit)。我试着数一数它们为零的羚羊的数量,然后按KategoriID分组。KategoriID在ogrenci和taksit表中都有,而odendi只在taksit表中。我找不到错误在哪里。
我的sql如下

$sql= mysql_query("SELECT KategoriID, ad, odendi, COUNT(odendi) FROM ogrenci INNER JOIN taksit ON ogrenci.KategoriID = taksit.KategoriID and WHERE odendi=0 GROUP BY KategoriID");
    while($listele = mysql_fetch_array($sql))
    {

        $KategoriID = $listele['KategoriID'];
        $ad = $listele["ad"];
        $odendi = $listele["odendi"];

}

最佳答案

简单规则:不要在from子句中使用逗号。始终使用显式joins:

SELECT t.KategoriID, ad, odendi, COUNT(odendi)
FROM taksit t INNER JOIN
     ogrenci o
     ON o.KategoriID = t.KategoriID
WHERE odendi = 0
GROUP BY t.KategoriID;

还应该使用表别名并限定所有列名。

10-08 20:20