Wie kombiniert man SELECT DISTINCT und ROWNUM in für Oracle-Abfragen

Brauche ich um die beiden zu verbinden MySQL-Anweisungen unten in einer einzigen ORACLE-Abfrage, wenn möglich.

Durch die erste Abfrage ist

SELECT DISTINCT FIRST_NAME FROM PEOPLE WHERE LAST_NAME IN ("Smith","Jones","Gupta")

dann basierend auf den einzelnen FIRST_NAME kehrte ich Abfrage

SELECT * 
FROM PEOPLE 
WHERE FIRST_NAME = {FIRST_NAME} 
  AND LAST_NAME IN ("Smith","Jones","Gupta") 
ORDER BY FIELD(LAST_NAME, "Smith","Jones","Gupta") DESC 
LIMIT 1

Die "Liste der Nachnamen" dient als "Standard /override" - Kennzeichen, so dass ich nur eine person für jeden ersten Namen, und wo mehrere Zeilen für die gleiche Vornamen existieren, wird nur das Letzte Spiel aus der Liste der "Letzten Namen" verwendet wird.

Brauche ich eine SQL-Abfrage, gibt die Letzte Zeile aus dem "in" - Klausel basierend auf der Reihenfolge der Werte in der IN(a,b,c). Hier ist eine Beispiel-Tabelle, und die Ergebnisse, die ich brauche aus der Abfrage.

Für die Tabelle PERSONEN, mit Werten

LAST_NAME    FIRST_NAME
.....
Smith        Mike    
Smith        Betty
Smith        Jane
Jones        Mike
Jones        Sally
....

Brauche ich eine Abfrage basierend auf die DISTINCT VORNAME und NACHNAME IN ('Smith','Jones') zurückgibt

Betty Smith
Jane Smith
Mike Jones
Sally Jones
  • Bitte Bearbeiten Sie die Frage mit den sample-Daten und die gewünschten Ergebnisse. Es ist nicht klar, was Sie versuchen zu erreichen. Ich erkenne field() als MySQL-Funktion nicht einer Oracle-Funktion.
InformationsquelleAutor Mike Storey | 2015-07-14
Schreibe einen Kommentar