2016-03-23 6 views
0

Ich habe eine Abfrage, die eine Tonne von Spalten zurückgibt, aber für eine bestimmte Spalte (LP_num = Palettenbezeichner) gibt es einen doppelten Wert. Es ist völlig in Ordnung, weil zwei weitere Felder im selben Datensatz einen anderen Wert haben. Zusammengefasst:Was ist der einfachste Weg, doppelte Datensätze einer Abfrage hervorzuheben/hervorzuheben?

Abfrage

t.lp_num  t.lot  t.qty 
A   lot_1  -141 
A   lot_2  -94 
B   lot_1  -235 
C   lot_1  -235 

Im Bericht muss ich zeigen, dass t.lp_num = A hat zwei Zeilen statt der Standard-1 Reihe. Zuerst habe ich versucht, eine Art von bedingter Formatierung im Ausdruck für die Textfeldfarbe zu verwenden, aber ich konnte keine Möglichkeit finden, mit anderen Datensätzen in der Ergebnismenge zu vergleichen, wie es MS Access Ihnen ermöglicht. Dann habe ich versucht, eine neue Spalte in der Ergebnismenge zu machen, die angibt, ob eine Zeile basierend auf dem Feld t.lp_num allein durch COUNT(t.lp_num) und COUNT(DISTINCT t.lp_num) eindeutig ist, aber beide Methoden eine 1 zurückgegeben. Ich hatte gehofft, dass es eine 2 für die Datensätze mit zurückgeben würde t.lp_num = A um zu zeigen, dass dieser Datensatz einen t.lp_num-Wert zweimal wiederholt hat.

+0

Count (*) über (Partition von t.lp_nm Auftrag von t.lp_num desc) ... es gibt Ihnen die Anzahl von 2 für A und so weiter ... basierend darauf können Sie Ihre TextBox Farbe – Veljko89

Antwort

4

Ich denke, erhalten Sie die Informationen können Sie eine Fensterfunktion verwenden müssen:

select lp_num, lot, qty, count(*) over (partition by lp_num) as Num_lpnum 
from t; 

Für Ihre Daten Num_lpnum 2 wäre für die „A“ Zeilen und 1 für die anderen Reihen.

+0

Dies ist gibt mir einen Fehler: Falsche Syntax in der Nähe von '(' und 'falscher Syntax in der Nähe des Schlüsselwortes' GROUP'. Was ich eintrage ist: 'COUNT (*) AS (Partition BY t.lp_num) AS Num_lpnum'. Die einzige Änderung, die ich gemacht habe, war um das Präfix "t.' zu' lp_num' hinzuzufügen. Ich bin mir nicht sicher, was den 'GROUP' Fehler verursachen könnte. – whatin1992

+0

Oh ich glaube du meintest" count (*) OVER ", richtig? – whatin1992

+0

@ whatin1992. Ja Dankeschön. –

Verwandte Themen