daniel_bln Geschrieben 15. Januar 2010 Geschrieben 15. Januar 2010 Hallo liebe SQL Experten, ich würde gerne für doppelt vorkommende Einträge innerhalb einer Spalte eine Tabelle nach der Abfrage zurückbekommen, die eine extra Spalte als boolean besitzt und die besagt um der Name eines Datensatzes mehrmals vorkommt oder nicht. Ich habe beispielsweise folgende Tabelle und Daten: Tablle Schlagwort: id Name 1 Rechner 2 Laptop 3. Fisch 4. Tiger 5. Fisch Ich würde nun gerne nach einer bestimmten Abfrage folgende Tabelle zurückbekommen: id Name double 1 Rechner false 2 Laptop false 3. Fisch true 4. Tiger false 5. Fisch true Es soll also eine extra Spalte namens double hinzugefügt werden. Alle Schlagwörter, deren Namen mindestens noch ein weiteres mal in der Tabelle vorkommen, sollen auf true gesetzt werden. Alle anderen sollen false sein. Ist das möglich?? Wäre für jede Antwort sehr dankbar. liebe Grüße daniel Zitieren
_n4p_ Geschrieben 15. Januar 2010 Geschrieben 15. Januar 2010 um auf die frage zu antworten, bestimmt. aber müssen die doppelten zeilen auch doppelt ausgegeben werden? Zitieren
daniel_bln Geschrieben 15. Januar 2010 Autor Geschrieben 15. Januar 2010 um auf die frage zu antworten, bestimmt. aber müssen die doppelten zeilen auch doppelt ausgegeben werden? ja müssen sie. Okay, kann mir jemand sagen wie man da vorgehen muss, um so eine Abfrage zu machen? Zitieren
MartinSt Geschrieben 15. Januar 2010 Geschrieben 15. Januar 2010 Mir fällt spontan nur ein Subquery mit count ein. Zitieren
daniel_bln Geschrieben 16. Januar 2010 Autor Geschrieben 16. Januar 2010 okay und wie würde die dann lauten? Zitieren
_n4p_ Geschrieben 16. Januar 2010 Geschrieben 16. Januar 2010 schon mal selbst gedanken drüber gemacht? hinweis war subselect und zählen. überlegen wir kurz wie man in nem select zählen kann. SELECT COUNT(spalte|*) FROM table [WHERE spalte1 = '1'] dein query von da oben sieht etwa so aus: SELECT id,name FROM table bauen wir das zusammen SELECT id,name, (SELECT COUNT(id) FROM table AS b WHERE b.name = a.name) as doppelt FROM table AS a wenn du jetzt auf der textausgabe 'true'/'false' musst du je nach DBMS zu CASE oder IF greifen. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.