テーブルから完全に同じ属性を持つグループを選択したいと思います。他のものはありませんしながら、例えば、私の表は、各facs_run_id
がfcj_id
の異なる組み合わせを有し、このテーブルの次テーブル内の同一の組み合わせのサブクエリ
facs_run_id | fcj_id
1 | 17
1 | 4
1 | 12
2 | 17
2 | 4
2 | 12
3 | 17
3 | 12
3 | 10
似ているが、いくつかはfacs_run_id
数字間で共有されます。例えば、facs_run_id
1
と2
は同一であり、3
はfcj_id
を共有していますが、1
と2
とは同一ではありません。
- はまったく同じ
fcj_id
組み合わせを持つすべてのfacs_run_id
を見つける特定のfacs_run_id
- からすべての
fcj_id
を収集します。私はにクエリを作成したいと思います。
ここでは、私はfacs_run_id: 1
からfcj_id
の組み合わせが同じであるすべてのfacs_run_id
を見つけたいので、2
(または1
& 2
)を返す必要があります。
私は特定のfcj_id
が欠落しているものを入手しても、fcj_id
はこれで不足している見つけることができます:
SELECT facs_run_id
FROM facs_panel
EXCEPT
SELECT fcj_id
FROM facs_panel
WHERE facs_run_id = 2;
またはこの:
SELECT row(fp.*, fcj.fcj_antigen, fcj.fcj_color)
FROM facs_panel fp
LEFT OUTER JOIN facs_conjugate_lookup fcj ON fcj.fcj_id = fp.fcj_id
WHERE fp.fcj_id in (SELECT fp.fcj_id
FROM facs_panel fp
WHERE fp.facs_run_id = 1);
しかし、私はそのクエリを作成することはできませんよIDを返します。これは集計された重複を探す方法と考えることができると思いますが、どうやってそれを行うのか分かりません。任意の提案やポインタは非常に(またはこのタイプのクエリが動作しない場合は、テーブルを作成するための良い方法)をいただければ幸いです。
はどうもありがとうございました!私は今あなたの答えを見つけましたが、私はこれをすべてやり直す準備ができています。ありがとうございました。 – user1148636