私はテーブル内でユニークなタプルを見つけなければいけません。私はそれらのタプルを数え、10回以上出現するタプルを表示しなければなりません。つまり、職員を必要としない仕事がいくつかあります。職員を一度も必要としていない仕事を見つけ、10回以上実行しました。Postgresql固有のタプルを見つけて数えよう
create table JobStaff (
Job integer references Job(id),
staff integer references Staff(id),
role integer references JobRole(id),
primary key (job,staff,role)
);
create table Job (
id integer,
branch integer not null references Branches(id),
term integer not null references Terms(id),
primary key (id)
);
基本的に私のコードのように存在している:
CREATE OR REPLACE VIEW example AS
SELECT * FROM Job
WHERE id NOT IN (SELECT DISTINCT jobid FROM JobStaff);
create or replace view exampleTwo as
select branch, count(*) as ct from example group by 1;
create or replace view sixThree as
select branch, ct from exampleTwo where ct > 30;
これは、期待どおりの結果を2つの余分な行を返すように思われます。私は私の講師を頼み、彼は私がコースを数えてるからだと言っているSOMETIMES
EDIT:これは、すべての条件のためにジョブが何の仕事のスタッフは、それが
EDIT2に割り当てられていないがあった、利用可能であったことを、意味します。予想される出力と、私は何を得る:
私が得たもの:
branch | cou
---------+-----
7973 | 34
7978 | 31
8386 | 33
8387 | 32
8446 | 32
8447 | 32
8448 | 31
61397 | 31
62438 | 32
63689 | 31
が期待:
branch | cou
---------+-----
7973 | 34
8387 | 32
8446 | 32
8447 | 32
8448 | 31
61397 | 31
62438 | 32
63689 | 31
ですか? (宿題タグを追加してください) –
ジョブが参照されている回数、つまり参照されていない回数を知りたいですか?あなたの例では、 'ジョブ'に '役割'があることが示されていません(ただし、あなたが選択したようです)。あなたのデータを修正してください。 –
@AngeloNeuschitzer私は今それを修正しました。 – SNpn