[英]inner join returning duplicates
hello i have the following query: 您好,我有以下查询:
$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());
i first fetch a $_GET then use it in my second query but there i get duplicated rows when i fetch the arrays , if instead of using INNER JOIN i build my second query as: 我首先获取一个$ _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());
it will work and I wont get duplicates in the fetch row, waht is wrong with my INNER JOIN query? 它会工作,我不会在获取行中获得重复,我的INNER JOIN查询是错误的吗?
cheers 干杯
syntax for inner join: 内连接的语法:
SELECT a.name, b.text
FROM a INNER JOIN b ON a.id = b.a_id
WHERE a.name = 'something'
you're missing the "ON a.smth=b.smth" part 你错过了“ON a.smth = b.smth”部分
使用SELECT DISTINCT,它将删除第一个查询中的重复项
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.