2016-03-22 17 views
-1

data grig異なるレコードを選択

私は上記のような表を持っています。ご覧のとおり、「v_ctra_no」列の値が繰り返されます。 "v_ctra_no"の値が一意である行を選択できるように、どのタイプのSQLクエリを使用する必要があります。例

col_name1  col_name2  col_name3 
Ctra#001  Cash   200 
Ctra#002  Sales   40 
Ctra#003  Purchase  1000 

のためのように私は、下記のクエリを使用しようとしたが、それはあなたが売上金額を合計しようとしているように見えます

SELECT DISTINCT(v_ctra_no),v_ctra_date,v_ctra_id FROM TBL_ACC_CTRA_VCH_MSB 
+1

あなたの例では何も繰り返されていないと、列名があなたの説明と一致しません。 –

+0

私はこの質問に含まれている私のテーブルのイメージを見ましたか?上記画像リンク – msm

+1

を参照してください。DISTINCTは(列上の)関数ではなく、SELECT DISTINCTの一部であり、選択された行全体で機能します。すなわち、SELECT distinct(c1)、c2' eq。 'SELECT DISTINCT c1、c2' eq。 'SELECT DISTINCT c1、(c2)'。 – jarlh

答えて

2

を動作しません。これはあなたが探しているより何だと思わ:

SELECT v_ctra_no, v_ctra_dr_ledgeacc_name, SUM(v_ctra_dr_ledgeacc_amt) AS v_total_sales 
FROM TBL_ACC_CTRA_VCH_MSB 
GROUP BY v_ctra_no, v_ctra_dr_ledgeacc_name 

これは、アカウントの量の列のエントリのすべての合計(SUM)とともに、口座番号、口座名が表示されます。アカウント名がすべての口座番号の項目で同じである限り、重複はありません。

ただし、データベースの再構築(そのオプションがある場合)を考慮すると、アカウントの詳細が個別の売上金額とは別個になることがあります。あなたはのための複製を取得します、しかし

SELECT DISTINCT v_ctra_no, v_ctra_date 
FROM TBL_ACC_CTRA_VCH_MSB 

:あなたは販売情報が欲しいだけの日付と一緒にアカウントの詳細をしたくない場合は

は、あなたは、このような名前に明確な操作を行うことができます日付が異なるが口座番号は変わらない。あなたが少しそれについて考えるなら、それは理にかなっています。

あなただけそしてちょうど使用し、個別の口座番号が必要な場合:

SELECT DISTINCT v_ctra_no 
FROM TBL_ACC_CTRA_VCH_MSB 
+0

返信ありがとうございます。実際には、上記のクエリは、フロントエンドインターフェイスで列 'v_ctra_no'と 'v_ctra_date'でリストビューを作成する必要があり、売上高の合計は表示されません。 – msm

+0

数字であると思われる 'col_name3'の値をリストしているので、少し曖昧です。 – mikeyq6

関連する問題