Veröffentlicht 15. Januar 201015 j 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
15. Januar 201015 j um auf die frage zu antworten, bestimmt. aber müssen die doppelten zeilen auch doppelt ausgegeben werden?
15. Januar 201015 j 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?
16. Januar 201015 j 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.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.