2016-04-13 4 views
1

私は正しい結果を得るために正しいクエリを作成しようとしていましたが、時間が経ってもまだ運がありません。私は同じIDでステータスが異なる複数行データセットからのOracle 8iの選択クエリ

は、例えば、このスクリーンショットを見てみましょう...私は近いですが、私はトリックを使い果たした感じ:

Example

強調されたデータセットは、私が探しているものです。だから私は多くのSAMPLE_IDを持っているが、私はすべての行のステータスを 'S'にしたい。強調表示されていないデータセットには 'S'を含むミックスステータスがあります。今私の問題は、私はまだそれらのものを取得...ここ

は私のクエリです:

SELECT T3.SAMPLE_ID FROM 
LIMSFD_SAMPLE_INFO T3 
WHERE T3.SAMPLE_ID IN 
(SELECT SAMPLE_ID FROM LIMS_FINAL_RESULT WHERE SECTION_ID = 'FD' AND STATUS = 'S') 
AND T3.SAMPLE_ID NOT IN 
(SELECT SAMPLE_ID FROM LIMS_FINAL_RESULT WHERE SECTION_ID = 'FD' AND STATUS != 'S') 

だから、最初のサブクエリは「S」の状態と第2のサブクエリが取得して結果を取得します「S」のステータス以外の結果と「IN」と「NOT IN」を使用して、私はそれが望ましくない結果を除外すると考えました。

これはOracle 8iであるため、紹介するサブクエリが多いほど、それは遅くなります。私はここでこれを試して、エクスプローラをクラッシュしました:

SELECT T3.SAMPLE_ID FROM 
LIMSFD_SAMPLE_INFO T3, 
LIMSFD_SAMPLE_INFO T4 
WHERE T3.SAMPLE_ID IN 
(SELECT SAMPLE_ID FROM LIMS_FINAL_RESULT WHERE SECTION_ID = 'FD' AND STATUS = 'S') 
AND T4.SAMPLE_ID NOT IN 
(SELECT SAMPLE_ID FROM LIMS_FINAL_RESULT WHERE SECTION_ID = 'FD' AND STATUS != 'S') 
AND T3.SAMPLE_ID <> T4.SAMPLE_ID 

誰かがこの問題についていくつかの方向に私を指摘できますか? 上記の画像から、強調表示された行だけを取得し、他のものは取得しないようにしてください...私のクエリでは、両方を取得します。

多くの感謝!

+1

@halfer - Haha!申し訳ありませんが、私は叫んでいませんでしたが、おそらくこのDBの不満からはずです。私はすべてをMariaDBに移行していると付け加えておくべきですが、それは時間がかかります... – M5er

+0

Oracle 8i - 真剣に? –

+0

@WernfriedDomscheit - 役に立つ答えがありますか? Lol – M5er

答えて

0

わかりました...私は答えを見つけました!私はMINUSオペレーターの前にどうやって来なかったのか分かりません。

私の新しいクエリは、私が探していたものとまったく同じです。更新されたクエリは次のとおりです。

select sample_id 
from limsfd_sample_info 
where sample_id in 
(select sample_id from lims_final_result 
where sample_type = 'OF' and analyte_code != 99 and section_id = 'FD' and status = 'S') 
minus 
select sample_id 
from limsfd_sample_info 
where sample_id in 
(select sample_id from lims_final_result 
where sample_type = 'OF' and analyte_code != 99 and section_id = 'FD' and status != 'S') 

これは将来的に誰かに役立つことを願っています!あなたがOracle 8iを持っていて、移行したいと思っているなら、私はそれについてスレッドを投稿します...それはあなたのアプリケーションを雷に速くさせます:D

私は待てない......... .......... NOT !!!

関連する問題