2017-03-28 10 views
1

私はテーブル「リスト」、「記事」、「コメント」のお気に入りを格納するポリモプリック関係テーブル「likes」を持っています。次のように右外部テーブルの値が左からすべての行を返さないselectとの左外部結合

テーブルの構造は次のとおりです。

  • ID
  • がCONTENT_ID
  • CONTENT_TYPE私は彼らのようなカウントですべての私のリストを選択しようとしています

SELECT lists.*, COUNT(DISTINCT likes.id) AS likes FROM lists 
             LEFT OUTER JOIN likes ON (lists.id = likes.content_id) 
             WHERE likes.content_type = 'list' 
             GROUP BY lists.id 

これまでのところ、好きなテーブルの中に好きなものがあるリストテーブルの結果だけを返します。

ありがとうございました!

答えて

2

あなたが左ジョインを必要とする場合、内側は

SELECT lists.*, COUNT(DISTINCT likes.id) AS likes 
FROM lists 
LEFT OUTER JOINlikes ON 
    (lists.id = likes.content_id 
      AND likes.content_type = 'list') 
GROUP BY lists.id 
+0

に参加するよう、あなたがinclue句の中の条件がそうでなければ、私は感謝のボスを使用しなければならないところ、私の答えは右のであれば、これはよくキー:) –

+0

@TomsDonisだっくださいマーク受け入れられたように...どうかここにどうぞ http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – scaisEdge

関連する問題