2

どこかに簡単な解決策があると思いますが、それを機能させようとすると私は怒ってしまいます。SUM()同じテーブルで2つのクエリを実行したいのですが、どちらもWHERE句が異なります。

このテーブルはユーザー投票システムに使用されるため、ユーザーは他のユーザーのコンテンツに投票します。現在のユーザーのアクティビティ(追加したコンテンツ/カテゴリ)を一覧表示し、現在のユーザーのコンテンツに投票した他のユーザーの数の詳細と組み合わせることができるようにしたいと思います。

基本的に、同じテーブルから以下の2つのクエリを組み合わせたいと思います。

SELECT category_id,
SUM(content_add) AS content_add_count,
SUM(category_add) AS category_add_count
FROM table1 WHERE user_id = '" . $user_id . "' GROUP BY category_id


SELECT SUM(normal_vote) AS agree_votes
FROM table1
WHERE issued_by_user != '" . $user_id . "'
AND user_id = '" . $user_id . "'
AND plus = '1'
GROUP BY category_id

上記の最初のクエリで2番目のクエリを別のクエリ内に配置しようとしましたSUM()が、MySQLでは明らかに実行できませんが、可能であればそれを実現したいと思います。

4

1 に答える 1

4
SELECT 
  category_id
  ,SUM(content_add) AS content_add_count
  ,SUM(category_add) AS category_add_count
  ,SUM(if(issued_by_user != '" . $user_id . "' AND plus = '1',normal_vote,0)) AS agree_votes
FROM table1 
WHERE user_id = '" . $user_id . "' 
GROUP BY category_id
于 2012-08-22T13:25:12.430 に答える