内连接返回重复

时间:2011-03-14 19:01:31

标签: php mysql sql

您好 我有以下查询:

$k=mysql_query("SELECT cat.name_url, cat.id 
                    FROM category cat  
                    WHERE cat.name_url='".$_GET["category"]."' ");
 $kRow=mysql_fetch_assoc($k);


$j=mysql_query("SELECT s_cat.name, s_cat.name_url, s_cat.category_id 
                    FROM s_category s_cat 
                        INNER JOIN category cat 
                            ON s_cat.category_id=".$kRow["id"]." 
                    ORDER BY s_cat.name ASC ") or die (mysql_error());

我首先获取一个$ _GET然后在我的第二个查询中使用它但是当我获取数组时我得到重复的行,如果不是使用INNER JOIN我构建我的第二个查询:

$j=mysql_query("SELECT s_cat.name, s_cat.name_url, s_cat.category_id 
                    FROM s_category s_cat 
                    WHERE s_cat.category_id=".$kRow["id"]." 
                    ORDER BY s_cat.name ASC ") or die (mysql_error());

它会工作,我不会在获取行中获得重复项,我的INNER JOIN查询是错误的吗?

欢呼声

2 个答案:

答案 0 :(得分:4)

内联接的

语法:

SELECT a.name, b.text 
FROM a INNER JOIN b ON a.id = b.a_id
WHERE a.name = 'something'

你错过了“ON a.smth = b.smth”部分

答案 1 :(得分:0)

使用SELECT DISTINCT 这将删除第一个查询中的重复项