0

次のようなクエリがあります。

SELECT
  app.application_id,
  j.job_number,
  j.job_id,
  j.job_title,
  j.job_city,
  j.job_state,
  p.person_id  AS candidate_id,
  p.first_name,
  p.last_name,
  app.start_date,
  ope1.percent_complete,
  MAX(CASE
      WHEN r.role_display_name = 'ENG - Recruiter' THEN
        (SELECT CASE WHEN COUNT(last_name) = 0 THEN
                   'Unassigned'
                 ELSE
                   COUNT(last_name)
                 END AS uname
           FROM users
           JOIN job_roles ON job_roles.user_id = users.user_id
          WHERE job_id = j.job_id
            AND role_id = r.role_id
        )
      ELSE '' END) AS role_3

私の問題は、COUNT(last_name)レコードが返されないため 0 が返されないため、 の値がないことですNULL。すべてが理にかなっていますが、 でラップしようとしましたIFNULL()が、ISNULL()どれもこの問題を解決していないようです。レコードがない場合に 0 を返すようにするにはどうすればよいですか? 集計内に別のサブクエリが必要ですか? COUNT()私は本当に別のサブクエリを使用したくない....

4

1 に答える 1