Employee_id Status
111 Approved
111 Approved
111 Pending
222 Approved
222 Approved
上記のようなものは、222だけが承認された解決策を得るべきです。私が試した何以下の条件のためのsql queury
:
select distinct employee_id, status
from main_table
Employee_id Status
111 Approved
111 Approved
111 Pending
222 Approved
222 Approved
上記のようなものは、222だけが承認された解決策を得るべきです。私が試した何以下の条件のためのsql queury
:
select distinct employee_id, status
from main_table
はこれを試してください:あなたはその答えをしたい理由
SELECT DISTINCT employee_id
FROM main_table
WHERE employee_id NOT IN (SELECT s.employee_id FROM main_table as s
WHERE Status != 'Approved')
私はそれがここでは当てはまらないことを知っています。しかし、NOT INはNOT INよりも好きです。なぜなら、NOT INはNULL値に関してはややこしいからです。常に存在しないことにこだわるとあなたは安全です! – jarlh
は、私はあなたが「承認済み」以外の任意のステータスを持っていない従業員を探している、正しく理解していれば。これはnot exists
条件のように表すことができる。
SELECT DISTINCT employee_id
FROM main_table a
WHERE NOT EXISTS (SELECT *
FROM main_table b
WHERE a.employee_id = b.employee_id AND
b.status != 'Approved')
働いてくれてありがとう – Shubhangi
SELECT employee_id
FROM main_table a
GROUP BY employee_id
HAVING sum(case status when 'Approved' then 0 else 1 end) = 0
を説明してください。また、現在のクエリの試行を表示してください。 – jarlh
select distinct employee_id、status from main_table – Shubhangi