2017-05-02 3 views
0

Ich habe einen Tisch Teilnehmer, wo es viele Felder wie Name, Geschlecht, etc. Ich brauche Hilfe bei der Suche nach doppelten Namen, die beide Geschlechter männlich und weiblich haben.Wie finde ich Geschlechtsneutral?

SO wenn ich einen Namen 'Angel' habe und wir doppelte Zeilen haben, wie können wir eine Abfrage verwenden, um 'Angel' auszugeben, dass es 1 Zeile Zeilen gibt, die Geschlecht = männlich und eine andere Zeile den Namen hat ist 'Angel', aber das Geschlecht ist weiblich?

Antwort

1

Sie können über Datensätze mit demselben Namen aggregieren und Namen beibehalten, deren eindeutige Anzahl von Geschlechtstypen 2 ist (was bedeutet, dass beide Geschlechter mit diesem Namen verknüpft sind).

SELECT name 
FROM yourTable 
GROUP BY name 
HAVING COUNT(DISTINCT sex) = 2 

Beachten Sie, dass dies setzt voraus, dass nur zwei Geschlechter in der Tabelle vorhanden sind. Wenn dies nicht der Fall ist, können Sie der obigen Abfrage eine WHERE sex IN ('male', 'female')-Klausel hinzufügen.