![]() |
Datenbank: MS-SQL • Zugriff über: ADO
SQL-String ohne doppelte Werte ausgeben
Hallo Leute
habe auch wieder einmal ein Problem. Ich möcht aus einer Spalte alle Daten anzeigen lassen ohne das es doppelte Werte in der Ausgabe gibt. Bis jetzt habe ich vollgenden SQL-String
SQL-Code:
leider werden die Doppelten Datensätze nicht mit angezeigt. :wall: :wall:
SELECT Tabelle.FeldNr, Tabelle.FeldID
FROM Tabelle WHERE (((Tabelle.FeldNr) Not In (SELECT [FeldNr] FROM [Tabelle] As Tmp GROUP BY [FeldNr] HAVING Count(*)>1 ))) ORDER BY Tabelle.FeldNr für Tipps oder Anregungen währe ich sehr Dankbar schöne Grüsse Tau |
Re: SQL-String ohne doppelte Werte ausgeben
Hallo,
ich würde das so schreiben.
SQL-Code:
Ich habe das jetzt nicht getestet so sollte das aber gehen.
SELECT Tabelle.FeldNr, Tabelle.FeldID
FROM Tabelle WHERE (((Tabelle.FeldNr) In (SELECT [FeldNr] FROM [Tabelle] Where [FeldNr] HAVING Count(FeldNr)>1 ))) ORDER BY Tabelle.FeldNr Group by FeldNr, FeldID |
Re: SQL-String ohne doppelte Werte ausgeben
Hallo tau,
Zitat:
SQL-Code:
Dein SQL-Statement suggeriert aber eher, dass du alle Sätze der Tabelle finden möchtest, deren FeldNr mehr als einmal vorkommt. Von dieser Ergebnismenge möchtest du die Spalten FeldNr und FeldID geordnet nach FeldNr ausgeben.
SELECT DISTINCT FeldNr FROM TABELLE ORDER BY FeldNr
SQL-Code:
Wenn ich total daneben liege, dann vergiss einfach, was ich geschrieben habe.
SELECT FeldNr, FeldID FROM Tabelle WHERE FeldNr IN (
SELECT FeldNr FROM Tabelle GROUP BY FeldNr HAVING COUNT(FeldNr) > 1 ) ORDER BY FeldNr Grüße vom marabu |
Re: SQL-String ohne doppelte Werte ausgeben
Hallo Tau,
wenn ich es richtig verstehe, ist das Feld "FeldID" einzigartig. Dann würde ich auf das Feld verzichten und nur noch ...
SQL-Code:
schreiben.
SELECT Tabelle.FeldNr
FROM Tabelle GROUP BY Tabelle.FeldNr; Dein SQL-String unterdrückt alle doppelten Einträge durch
SQL-Code:
, wie auch Dein Ergebnis aussieht.
[(((Tabelle.FeldNr) Not In (SELECT [FeldNr] FROM [Tabelle] As Tmp GROUP BY [FeldNr] HAVING Count(*)>1 )))]
Wenn Du das "Not" vor "In" entfernst, dann würden nur noch die doppelten Einträge ausgegeben werden. Beides willst Du aber nicht. Deswegen ohne FeldID und Where ... Außer das FeldID wird benötigt, dann wird es schwierig. Ich hoffe ich konnte Dir helfen. Gruß Bebe |
Re: SQL-String ohne doppelte Werte ausgeben
Mion Tau!
Dein SQL-Statment lässt vermuten, dass du aus deiner Tabelle nur die Datensätze mit einer FeldNr, die nur einmal in der Tabelle vorkommt, rausfiltern willst. Das würde ich folgendermaßen versuchen:
SQL-Code:
Viele Grüße
Select FeldNr, FeldID from tabelle
Where FeldNr in (Select FeldNr from Tabelle Group by FeldNr Where count(FeldNr) = 1) Markus :gruebel: |
Re: SQL-String ohne doppelte Werte ausgeben
Hallo alle zusammen
Danke für die vielen Anregungen. :thumb: Ich hatte wohl gestern zur später stunde den Wald vor lauter Bäume nicht mehr gesehen. Bebe -> Dein Ansatz hat mich auf die richtige Idee gebracht. Die Lösung:
SQL-Code:
Danke an alle :witch: :witch:
SELECT FeldNr
FROM Tabelle GROUP BY FeldNr HAVING (NOT (FeldNr IS NULL)) schöne Grüsse Tau |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz