Klaus Mock: Distinct

Beitrag lesen

Hallo,

wie kann man bei der unten stehenden Anweisung das Feld TAB1.Name als Distinct auflisten? So geht es nämlich nicht, weil es da eine zweite Tablle TAB3.Form gibt.

Distinct dient nur dazu, doppelte Einträge der Ergebnismenge einer Abfrage zu eliminieren. Dabei werdn alle abgefragten Felder berücksichtigt. Sollte sihc auhc eines von einem anderen Record unterscheiden, wird der Record mit ausgegeben. Das bedeutet, daß es durhcaus mehrere Tab1.Name mit unterschiedlichen Tab2.OID bzw Tab3.Form geben kann.
Du kannst entweder nur Tab1.Name ausgeben lassen, oder GROUP BY TAB1.NAME verwenden. Dabei mußt Du aber bestimmen, welche OID bzw. welche FORM ausgegeben werden soll. Dies könntest Du mit den Aggregatfunktionen wie MIN() oder MAX() erledigen, wobei Du Dir noch überlegen mußt, ob und wenn ja, welche dieser Funktionen für Dein erwartetes Ergebnis die richtige ist.

Grüße
  Klaus