Wenn ich eine Tabelle wie folgt habe:Wie erhält man einen eindeutigen Satz von Zeilen aus SQL, wo die Eindeutigkeit durch 2 Spalten definiert ist?
ID | Name | Kategorie | Eltern | URL | LastModified
Wenn zwei Zeilen denselben Namen und dasselbe Elternelement haben, sind sie nicht eindeutig. Wie bekomme ich in diesem Fall die eindeutige Menge von Zeilen (aber mehr als die Spalten, die sie eindeutig machen)?
So, für weitere Details: Dies ist eine Unternehmens-Stichwörter Tabelle, wo Schlüsselwörter nach Kategorie organisiert sind. Jedes Keyword kann nur eine Kategorie haben. Jedes Schlüsselwort kann untergeordnete Schlüsselwörter haben. Wenn also parent = 0 oder NULL ist, handelt es sich um ein root-Schlüsselwort. Wenn Schlüsselwörter in einer Kategorie denselben Namen und denselben übergeordneten Namen haben, sind sie nicht eindeutig (unabhängig von den anderen Spalten). Wenn zwei Schlüsselwörter denselben Namen und dieselbe Kategorie haben und parent = 0 oder NULL, sind sie nicht eindeutig. Wenn es Duplikate gibt, möchte ich nur die erste. Der Grund ist, dass ich diese in ein System setze, das einem Keyword nicht erlaubt, zwei Kinder mit demselben Namen zu haben.
Ich würde auch gerne sehen, welche Zeilen Duplikate sind, um zu sehen, was mir die Probleme verursacht!
Danke eine Million bis jetzt für ausgezeichnete Antworten. Ich bin offensichtlich kein SQL-Typ ... :(
Was willst du bekommen? Die Kategorien für einen Namen/Eltern? –
Fehlende Angabe: Wenn zwei Zeilen den gleichen Eltern- und Namen haben, möchten Sie nur eine oder keine von ihnen zurückgeben. Wenn der ehemalige, welcher? –
Fehlende Angabe: Was ist, wenn zwei Zeilen den gleichen Namen haben, aber beide über NULL verfügen? Bedeutet das, dass sie nicht einzigartig sind? –