2016-03-22 12 views
-1

data grigverschiedene Datensätze auswählen

Ich habe eine Tabelle wie oben gezeigt. Wie Sie sehen können, wiederholt sich der Wert in der Spalte "v_ctra_no". Welche Art von SQL-Abfrage sollte ich verwenden, damit ich diejenigen Zeilen auswählen kann, deren Wert "v_ctra_no" eindeutig ist? Wie zum Beispiel

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

habe ich versucht, die Abfrage unten erwähnt zu verwenden, aber es ist nicht

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

In Ihrem Beispiel nichts wiederholt und die Spaltennamen Ihre Beschreibung nicht übereinstimmen. –

+0

Haben Sie das Bild meines Tisches gesehen, das ich in diese Frage eingefügt habe ??? Bitte beachten Sie den Bildlink über – msm

+1

DISTINCT ist keine Funktion (in einer Spalte), es ist ein Teil von 'SELECT DISTINCT' und arbeitet mit den ganzen ausgewählten Zeilen. I.e 'SELECT distinct (c1), c2' eq. 'SELECT DISTINCT c1, c2' eq. 'SELECT DISTINCT c1, (c2)'. – jarlh

Antwort

2

Es sieht nicht funktioniert, wie Sie die Verkaufsmengen zusammenzufassen versuchen. Es scheint, dass dies mehr ist, was Sie suchen:

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 

Diese Kontonummer zeigen und Account-Namen, zusammen mit der Summe (SUM) alle Einträge in der Kontobetrag Spalte. Solange der Kontoname für alle Kontonummereinträge identisch ist, haben Sie keine Duplikate.

Sie sollten jedoch in Betracht ziehen, Ihre Datenbank neu zu strukturieren (wenn Sie diese Option haben), sodass die Kontodetails getrennt von den separaten Verkaufsbeträgen sind.

Wenn Sie nicht über die Verkaufsinformationen und wollen nur die Kontodaten zusammen mit den Daten, dann können Sie auf den Namen wie dies eine deutliche tun:

SELECT DISTINCT v_ctra_no, v_ctra_date 
FROM TBL_ACC_CTRA_VCH_MSB 

Allerdings werden Sie erhalten Duplikate für Jedes Mal ist das Datum anders, aber die Kontonummer bleibt gleich. Wenn Sie darüber nachdenken, macht es Sinn.

Wenn Sie nur die unterschiedlichen Kontonummern wollen, dann benutzen Sie einfach:

SELECT DISTINCT v_ctra_no 
FROM TBL_ACC_CTRA_VCH_MSB 
+0

danke für die Antwort.Ich brauche die obige Abfrage, um eine ListView mit den Spalten "v_ctra_no" und "v_ctra_date" in der Front-End-Oberfläche zu füllen und nicht Umsatzbetrag zusammenzufassen. – msm

+0

Ihre Frage ist dann etwas mehrdeutig, da Sie die Werte in 'col_name3' auflisten, die wie Zahlen aussehen. – mikeyq6

Verwandte Themen