# "Distinct" wird nicht ausgeführt



## daggit (26. Okt 2005)

Hi,

habe gerade ein riesen problem. Hab mir auf unserem  MSsql server eine schöne grosse selektanweisung zusammengebastelt, welche auch die funktion "distict" beinhaltet. wenn ich die anweisung auf dem server ausführe klappt alles, führe ich sie allerdings in meiner java-anwendung aus, dann erhalte ich mehr datensätze als er anzeigen müsste.... ich bekomme genau die Datensätze zu viel angezeigt die eigetnlich mit distinct rausgefiltert werden müssten. Hat jemand eine idee?


----------



## bronks (26. Okt 2005)

Du hast einen Fehler im SQL. Einfach so passiert das nicht. Schade, daß Du Deinen SQL nicht gepostet hast, sonst könnte Dir jemand einen konkreten Tip geben.


----------



## Guest (26. Okt 2005)

im sql ist soweit ich weiss kein fehler, es ist eine sehr langer sql-anweisung, daher habe ich sie nicht gepostet. Wenn ich allerdings die sql-anweisung mit "copy und paste" in meiner datenbank direkt ausführe klappts wunderbar.

Hier nochmal ein beispiel einer weiteren sql-anweisung wo der distinct befehl ignoriert wird. Es wird kein fehler angezeigt, es werden einfach zu viele datensätze zurückgeliefert

SESLECT DISTINCT spalte FROM table


----------



## Guest (26. Okt 2005)

Es sollte normal funktionieren. Du hast sicherlich einen anderen Fehler 
in der Abfrage.

So sieht eine korrekte Abfrage aus 

```
SELECT DISTINCT schnitzel, pommes, mayo 
FROM tblKantine
WHERE (preis_schnitzel + preis_pommes + preis_mayo) < gehalt/100)
  AND schnitzel_haltbarkeitsdatum > GETDATE()
  AND schnitzel_maul_und_klauenseuche = FALSE
  AND pommes_frittierfett = GETDATE()
  AND mayo_konsistenz NOT LIKE '%salmonellenbiotop%'
  AND koch_alkoholintus <= 0.8
  AND kassentussi LIKE "90,60,90"
```


----------



## KISS (26. Okt 2005)

sind alle datensaetzte unterschiedlich? dann stimmt es. wenn nicht, raetselhaft
wie fuerst du das sqlquery aus? vieleicht hat der client eine zeilenbeschrankung?


----------



## AlArenal (26. Okt 2005)

Anonymous hat gesagt.:
			
		

> So sieht eine korrekte Abfrage aus
> 
> ```
> SELECT DISTINCT schnitzel, pommes, mayo
> ...



Nein wie geil! LOL


----------



## KISS (26. Okt 2005)

hmm, rowcount=0


----------



## Bleiglanz (26. Okt 2005)

im SQLServer gehts

mit Java nicht

=> dann ist eben ein Fehler beim String-Zusammenbau, der JDBC Treiber macht ja auch nix anderes als der Query-Analyser; nämlich einen SQL String der Datenbank übergeben


----------



## daggit (26. Okt 2005)

hab den fehler gefunden.
Es lag an dem Statement-Objekt welches ich erzeugt habe. Diesem hatte ich einnige Parameter mit gegeben.... hab diese Parameter nun geändert auf Readonly. Nun klappts


----------

