簡體   English   中英

內連接返回重復

[英]inner join returning duplicates

您好,我有以下查詢:

$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查詢是錯誤的嗎?

干杯

內連接的語法:

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”部分

使用SELECT DISTINCT,它將刪除第一個查詢中的重復項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM