複数回保存されたカテゴリ名を取得しようとしています。名前をフェッチするには、名前をグループ化して複数回表示しないようにする必要がありますが、私は前に述べた方法でそれをやってみましたが、これまで失敗しました。 私はここでひどく間違った何かをしていると確信しています。なぜ私はそれをグループ化できないのかを見つけることができません。 何か助けていただければ幸いです。ありがとう。'列名'によるグループが機能していないようです
$valsubcat=mysqli_query($conn,"SELECT categoryid
FROM subcategorymaster
WHERE subcatid=$valitem1[0]");
while($valsubcat1=mysqli_fetch_array($valsubcat))
{
$valcat=mysqli_query($conn,"SELECT CategoryName
FROM categorymaster
WHERE categoryid=$valsubcat1[0]
GROUP BY CategoryName");
while($valcat1=mysqli_fetch_array($valcat))
{
echo "<tr><td>".$valcat1[0]."</td></tr>";
}
}
は、あなたがして、グループを削除し、代わりにDISTINCT SELECTやってみましたJOINを使用して1つのクエリにそれを減らすことができますか? –
生データの例、現在取得している結果、および必要なものを表示できますか? Group Byは選択ごとに特異な結果を返します。しかし、それはループで実行している。同じカテゴリが複数のクエリで表示される場合は、その複製が作成されます。たぶん、IDがリストにあるすべてのCategoryNameを選択し、すべてのクエリの結合された結果セットでGroup ByまたはDistinctを使用してください。 –
良い悲しみ。 JOINを参照してください! – Strawberry