は、私が学生の契約とtheire歴史の中で別の契約を持っていた従業員のNames
を取得したい、次のデータ構造グループ、場所、論理演算子をどのように組み合わせるか?
| Name | Contract Type |
|:------|--------------:|
| Frank | Student |
| Frank | Staff |
| Frank | Staff |
| John | Internship |
| John | Student |
| John | Staff |
| Tim | Internship |
| Tim | Staff |
を持っています。私のアプローチは
Select Name, count(Name) from table
where ContractType = ('Student') AND (ContractType = ('Staff') OR ContractType = ('Internship'))
group by Name having count (Name) > 1
です。ここで問題は私はまだすべての従業員を取得することです。これを達成するのを手助けできる人は誰ですか? Name
によって
イマイチ奇妙な?一貫性を保つために私は両方で 'COUNT'を使いますが、何をしようとしているのかがはっきりしています。 –
@Juan Carlos Oropeza:私は同意しない。条件付き集計で 'SUM'を使った集計は' COUNT'と同じように普通です。 –
@JuanCarlosOropeza:集計 'count()'を使うには、 'count()'がNULL値をカウントせず、 –