また、接合されたテーブルを一つの値を選択しながら、すべての値を合計MYSQLクエリ

user6631314:

記事をフェッチする場合、私は別のテーブルから同類の合計を取得しても、現在のユーザーが記事を気に入っているかどうかを同時にチェックしたいと思います。

ただ、物品及び同類の合計を取得するには、私が行うことができます。

"SELECT a.id AS aid,a.title,a.slug,SUM(l.likes) AS likes  
FROM articles `a` 
LEFT JOIN likes `l` 
ON l.articleid = a.id 
WHERE a.id = 33";

どのように私は同時に、現在のユーザーが記事を気に入っているかどうかを取得することができます。

ユーザーが記事を気に入っているかどうかのロジックは次のようになります

"SELECT like FROM likes where articleid = 33 AND userid = 22"

どこ行== 0のカウントは、ユーザーが記事を気に入っていない場合。

しかし、私は最初のクエリにそれを統合するかどうかはわかりません。私はそれがCASEを使用して関与するかもしれないと思うが、これはSQLの親しみの私のレベルより上です。任意の提案をありがとう。

明菜:
SELECT a.id AS aid,
       a.title,
       a.slug,
       SUM(l.likes) AS likes,
       SUM(l.userid = 22) AS is_liked
FROM articles `a` 
LEFT JOIN likes `l` ON l.articleid = a.id 
WHERE a.id = 33

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=364731&siteId=1