Fügen Sie eine Spalte Repräsentiert eine Verkettung von Zwei Anderen Varchar-Spalten
Ich habe eine Mitarbeiter-Tabelle und ich will hinzufügen einer Dritten Spalte wird bewertet, wie die Verkettung des ersten und letzten namens "FullName". Wie kann ich erreichen, dass ohne Daten-von jedem der beiden ersten Spalten?
- wo ist die zweite Tabelle kommen? wenn du nur das verketten von zwei Spalten in einer Tabelle, warum nicht hinzufügen, dass einer anderen Spalte?
- Gibt es einen guten Grund, um eine neue Spalte hinzufügen? Sie kann einfach erzeugen der verketteten string on the fly.
- nur eine Tabelle, sondern eine neue Spalte, die kombiniert ist.
- Sie hatte ursprünglich ein paar Tippfehler in deiner Frage, wo man sagte: "Tisch" statt "Spalte." Das ist, wo dieser Kommentar kam. Ich bearbeitet die Frage, aber so sind Sie nun behoben.
- danke Matthew! war ein langer Tag
- Bitte beachten Sie: "erzeugen der verketteten string on the fly" von @shree.pat18 ist der bevorzugte Weg, denn dann werden Ihre Daten nicht get-out-of-date. Wenn Sie schreiben, es noch einmal und jemand hat einen Namen ändern in deiner DB, dann wird Ihr FullNames veraltet sind. Auch, Sie werden duplizieren von Daten -, die Sie nie tun sollten. Durch concatinating das Ergebnis "on the fly" sind Sie im wesentlichen nur durch das verweisen auf die Basis-Daten, so dass Sie halten-UND-NUR-EINE Kopie der Stammdaten. So, wenn es aktualisiert wird, erhalten Sie die updates.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schnelle Vorwort: diese Antwort wurde auf der Grundlage der ursprünglich falschen tag diese Frage wurde im Zusammenhang mit SQL Server. Ich bin mir nicht mehr bewusst, seine Gültigkeit auf Oracle SQL Developer.
Obwohl in der Praxis würde ich raten, dass Sie, dass der Betrieb in Ihrem
SELECT
. Das ist eher persönliche Präferenz, aber ich Neige dazu zu denken, Dinge zu tun, die in Ihrer end-Abfragen ist ein bisschen sauberer, lesbarer und einfacher zu verwalten als die Speicherung von zusätzliche, berechnete Spalten.Edit:
Diese wurde schließlich gefunden, als die Antwort, und aufgeführt von der OP als Kommentar zu diesem Beitrag. Im folgenden ist die entsprechende syntax für die Oracle Sql-Datenbank.
SELECT FirstName + ' ' + LastName FROM EMPS
SELECT
s?...FullName COMPUTED BY first_name||' '||last_name
.Wenn Sie brauchen, fullname Spalte alle Zeit, wenn Sie wählen aus der Datenbank, dann können Sie Sie erstellen die berechnete Spalte zum Zeitpunkt der Erstellung der Tabelle employee.
Beispiel:
Es hängt von Ihrem Zweck, ob Sie wirklich brauchen, um eine neue Spalte hinzufügen, um Ihre Datenbank, oder Sie müssen nur die Abfrage aus der "full name" auf einer as-needed basis.
Anzeigen, um Sie auf die Fliegen, einfach die Abfrage ausführen
SELECT firstname + ' ' + lastname AS FullName FROM employees
Darüber hinaus können Sie auch erstellen Sie eine einfache Gespeicherte Prozedur, um es zu speichern.
(Für Einzel-Ergebnis verwenden Sie gleich in der where-Bedingung)