0

次の mySQL クエリがありますが、何らかの理由で機能しません。

私は2つのテーブルを持っています:

exp_competition_purchase_upload_total には、メンバー ID と total_uploads 列が含まれています。exp_channel_titles には多くの列がありますが、確認する必要があるのは、作成者 ID とチャンネル ID の 2 つです。

私の目的は、最初のテーブルをクエリして行を見つけ、member_id を見つけて、それに関連付けられている upload_total を取得することです。次に、2 番目のテーブルに移動し、作成者 ID がテーブル 1 のメンバー ID と一致し、チャネル ID が 1 である行を数えます。

SELECT COUNT(*) AS uploads, c.upload_total 
FROM exp_competition_purchase_upload_total AS c
LEFT JOIN exp_channel_titles AS t ON c.member_id = t.author_id
WHERE c.member_id = '1'
AND t.channel_id = '1'

現在、カウントは返されていますが、upload_total の数は返されていません。以下の作品:

SELECT upload_total 
FROM exp_competition_purchase_upload_total
WHERE member_id = '1'

ここに画像の説明を入力

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

4

1 に答える 1

1

これを試して:

SELECT 
  COUNT(*) AS uploads, 
  SUM(IFNULL(c.upload_total,0)) 
FROM 
  exp_competition_purchase_upload_total AS c
LEFT JOIN exp_channel_titles AS t 
  ON c.member_id = t.author_id
  AND t.channel_id = '1'
WHERE 
  c.member_id = '1'
于 2013-05-23T08:40:20.967 に答える