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
_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?
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?
MartinSt Geschrieben 15. Januar 2010 Geschrieben 15. Januar 2010 Mir fällt spontan nur ein Subquery mit count ein.
daniel_bln Geschrieben 16. Januar 2010 Autor Geschrieben 16. Januar 2010 okay und wie würde die dann lauten?
_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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden