0

NOOB の質問をお詫びしますが、2 つのテーブルからの JOINING の結果について理解できません。

エントリをカテゴリにリンクする1つのテーブル(tableA)があり、entry_idとcat_idの列があります

タイムスタンプに対して entry_id が表示された回数をカウントする別のテーブル (tableB) があります。

tableB の entry_id のリストを、表示された回数でソートし、tableA の cat_id でフィルタリングしたリストを取得したいと考えています。

2 つの SQL ステートメントがありますが、それらを組み合わせる方法がわかりません。

ステートメント 1 - 特定のカテゴリ内の entry_id を取得します。

SELECT entry_id FROM tableA WHERE cat_id = ""

ステートメント 2 - tableB から entry_id のソートされたリストを取得します。

SELECT entry_id FROM tableB GROUP BY entry_id ORDER BY COUNT(*) DESC

ありがとう!

4

2 に答える 2

1
SELECT
  tableb.entry_id,
FROM
  tableb
  INNER JOIN tablea
    ON tableb.entry_id = tablea.entry_id
    AND tablea.cat_id = ""
GROUP BY
  tableb.entry_id
ORDER BY
  COUNT(*) DESC
于 2013-01-31T16:01:02.477 に答える
1

これを試して:

SELECT
  A.entry_id, Count(B.entry_id) Viewed
FROM TableA A
 LEFT JOIN TableB B
    ON A.entry_id = B.entry_id
WHERE A.Cat_Id = 5 -- your cat_id
GROUP BY A.entry_id
ORDER BY Count(B.entry_id) DESC
于 2013-01-31T16:03:35.260 に答える