Notwendig, die Namen der Mitarbeiter entsprechend ihrer Ortsspalte zu ordnen
Ich habe eine Abfrage geschrieben, die die Daten aus verschiedenen Spalten nach Städtenamen extrahiert.
Meine Abfrage lautet wie folgt:
select q.first_name
from (select employee_id as eid,first_name,city
from employees
group by city,first_name,employee_id
order by first_name)q
, employees e
where e.employee_id = q.eid;
Die Ausgabe der Abfrage besteht aus Mitarbeiternamen in einer einzelnen Spalte, die nach Städten gruppiert sind.
Nun möchte ich die obige Abfrage erweitern, um die Mitarbeiter anhand ihrer Städtenamen in verschiedene Spalten einzuteilen.
Ich habe versucht, Pivot zu verwenden, damit dies funktioniert. Hier ist meine Pivot-Abfrage:
select * from (
select q.first_name
from (select employee_id as eid,first_name,city
from employees
group by city,first_name,employee_id
order by first_name)q
, employees e
where e.employee_id = q.eid
) pivot
(for city in (select city from employees))
Ich bekomme ein Syntaxproblem mit fehlendem Ausdruck und bin nicht sicher, wie ich Pivot verwenden soll, um die unten erwartete Ausgabe zu erzielen.
Erwartete Ausgabe
DFW CH NY
---- --- ---
TripeH John Hitman
Batista Cena Yokozuna
Rock James Mysterio
Schätzen Sie, ob mich jemand in die richtige Richtung leiten kann.