0

私は2つのテーブルを持っています.1つは呼び出されaddons、さまざまなアドオンに関する情報を保持しています.多くの列がありますが、ここにメインがあります

addon_id  |  addon_name      |  addon_size

1         |  loft conversion |  small
2         |  extension       |  large

そして、私は別のものを持っていますaddons_count

addon_id  |  addon_count

1         |  5
2         |  6

システムで使用されるアドオンの数を保持します

問題は、while ループを介してアドオンを出力するだけのクエリが既にあることです。

SELECT * FROM `addons` WHERE addon_size='small' LIMIT {$startpoint_small} , {$limit}

ただし、addon_count に基づいてさまざまなアドオンを並べ替えようとしていますが、2 つの異なるテーブルからのものであるため、orderby などを使用してこれを行うにはどうすればよいですか?

ayとすべての助けに感謝します

4

3 に答える 3

2
SELECT * FROM 
   addons a , addons_count c 
WHERE
   c.addon_id = a.addon_id
AND
   a.addon_size = 'small'
ORDER BY
   c.addon_count
LIMIT 
   {$startpoint_small} , {$limit}
于 2012-06-29T23:18:07.947 に答える
1

2 つのテーブルを結合する必要があります。

$query = "SELECT * FROM addons a, addons_count ac
WHERE a.addon_id=ac.addon_id AND a.addon_size = 'small'
ORDER BY ac.addon_count DESC
LIMIT {$startpoint_small} , {$limit}";
于 2012-06-29T23:18:50.747 に答える
0

addons -> addons_count のクエリに INNER JOIN を追加してから、並べ替えます。

于 2012-06-29T23:17:48.230 に答える