我的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
子句中使用逗号。始终使用显式join
s:
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;
还应该使用表别名并限定所有列名。