重複の可能性:
2 つの Post/Category テーブル MYSQL SELECT クエリを 1 つに結合する方法
2 つの MYSQL クエリがあります。
1) "SELECT ID,post_title,post_category,post_perma FROM ".TBL_POSTS."
WHERE published='1' AND page='0' ORDER BY ID ASC LIMIT 50"
2) "SELECT p.cat_ID,p.cat_nicename FROM ".TBL_CATEGORIES." n,
".TBL_CATEGORIES." p
WHERE n.lft BETWEEN p.lft
AND p.rgt AND n.cat_ID='".post_category."' ORDER BY p.lft
私はこのように使用します:
$sql="SELECT ID, post_title, post_category,post_perma
FROM ".TBL_POSTS."
WHERE published='1'
AND page='0'
ORDER BY ID ASC LIMIT 50";
$result=mysql_query($sql);
while($row=mysql_fetch_assoc($result)){
$sql2="SELECT p.cat_ID, p.cat_nicename
FROM ".TBL_CATEGORIES." n, ".TBL_CATEGORIES." p
WHERE n.lft BETWEEN p.lft
AND p.rgt
AND n.cat_ID='".$row['post_category']."'
ORDER BY p.lft";
$result2=mysql_query($sql2);
while($row2=mysql_fetch_assoc($result2)){
$path.='/'.$row2['cat_nicename'];
}
$link.='<a href="'.$path.'">'.$row['post_title'].'</a><br>';
$path='';
}
echo($link);
exit;
}
これは、リンクでパスを取得する方法です..今、私が欲しいのは:
両方のクエリを組み合わせて、while ループで 2 番目のクエリを実行しないようにします。100 件の投稿を受信すると、2 番目のクエリが 100 回実行されてパスが取得されるため、非常に悪くなります。