2017-02-13 2 views
0

重複行をオフに取り除くため、取得するにはどのようにそれらをオフに取り除く:私はクエリが重複行を返し、次のしている

select a.code, b.daytime, b.created_date 
from ov a, CURVE b 
where b.curve_object_id = a.object_id 
order by b.daytime 

は何を私が探していることは、オブジェクト名を抽出するための最良の方法です(私の場合はそれがコードです)2番目のテーブルからどこobject_id 2つのテーブルで同じですか?

+0

が別個の存在であるが、私はこれが明確でないのOracle – Paparazzi

+0

については確認していません。 "重複"とは何ですか?テキストでは、オブジェクト名(あなたの場合はコード)を「抽出」したいと言っていますが、クエリではコードと昼間とcreated_dateを選択します。つまり、それは - あなたはコードを望んでいるのですか、それとも3つすべてを望みますか?そして、同じコードの行である "重複"は何ですか? (これは "重複"の定義ではありません - 重複はすべての値が等しい行ですが、私はあなたが技術的でない方法で "重複"を使用しているかもしれないと推測しています)。 – mathguy

+0

テーブルovは、単一のコード名とコード名の関連オブジェクトIDのみを格納するテーブルです。テーブルカーブは毎日のデータなので、同じコード名で日付は異なる(昼間列) 。 –

答えて

0

group by次のように重複する行を削除してみましたか?

select a.code, b.daytime,b.created_date 
    from ov a, CURVE b 
    where b.curve_object_id=a.object_id 
    group by a.code, b.daytime,b.created_date 
    order by b.daytime 
+0

データが重複しているため、重複した行がありますか?または、結合条件が不足しているために行が重複していますか?私はこれらの条件のどちらかがGROUP BYで "固定"されているケースを見てきました。また、小さなテストデータセットではうまく動作します。しかし、データセットが大きくなると、あなたは傷ついてしまうかもしれません。おそらくあなたが達成しようとしていることを詳しく説明できますか? – BobC

+0

to Tumen_t:ありがとう、これはうまくいきます。 BobCに:テーブル曲線に重複データはありません。おそらく、私は結合条件がないためです。だからあなたがグループで言っていることは、大規模なデータセットのための良い選択肢ではありません。 –

0

常に最新の明示的なJOIN構文を使用してください。

あなたの選択でdistinctを使用することができ、言った:TSQLで

select distinct a.code, 
    b.daytime, 
    b.created_date 
from ov a 
join CURVE b on b.curve_object_id = a.object_id 
order by daytime 
関連する問題