it-swarm.com.de

Wählen Sie 2 Spalten in einer aus und kombinieren Sie sie

Kann man 2 Spalten in nur einer auswählen und kombinieren?

Beispiel: 

select something + somethingElse as onlyOneColumn from someTable

29
pringlesinn

Ja, genau wie du:

select something + somethingElse as onlyOneColumn from someTable

Wenn Sie die Datenbank abfragen, hätten Sie die richtige Antwort erhalten. 

Was passiert ist, fragen Sie nach einem Ausdruck. Ein sehr einfacher Ausdruck ist nur ein Spaltenname, ein komplizierterer Ausdruck kann Formeln usw. enthalten.

21
gjvdkamp

Ja,

SELECT CONCAT(field1, field2) AS WHOLENAME FROM TABLE
WHERE ...

führt zu einem Datensatz wie:

WHOLENAME
field1field2
25
David Fox
(SELECT column1 as column FROM table )
UNION 
(SELECT column2 as column FROM table )
22
surya

Ja, es ist möglich, solange die Datentypen kompatibel sind. Wenn dies nicht der Fall ist, verwenden Sie CONVERT () oder CAST ().

SELECT firstname + ' ' + lastname AS name FROM customers
12
SupremeDud

Keine der obigen Antworten funktionierte für mich, aber dies tat ...

SELECT CONCAT(Cust_First, ' ', Cust_Last) AS CustName FROM customer
11
Brian

Der +-Operator sollte den Trick gut machen. Denken Sie jedoch daran, wenn eine der Spalten null ist oder keinen Wert hat, erhalten Sie ein NULL-Ergebnis. Kombinieren Sie stattdessen + mit der Funktion COALESCE und Sie werden festgelegt. 

Hier ist ein Beispiel: 

SELECT COALESCE(column1,'') + COALESCE(column2,'') FROM table1. 

Wenn in diesem Beispiel column1NULL ist, werden anstelle von NULL die Ergebnisse von column2 angezeigt. 

Hoffe das hilft!

6
RubenM

wenn eine der Spalten eine Zahl ist, die ich erlebt habe, wird Oracle "+" als Summenoperator statt Verkettung denken. 

z.B:

select (id + name) as one from table 1; (id is numeric) 

löst eine ungültige Nummer aus

in diesem Fall können Sie || Operator, der Verkettung ist.

select (id || name) as one from table 1;
1
user1313900

Ja, Sie können Spalten einfach genug kombinieren, z. B. Zeichendaten verketten:

select col1 | col 2 as bothcols from tbl ...

oder zum Beispiel numerische Daten hinzufügen:

select col1 + col2 as bothcols from tbl ...

In beiden Fällen erhalten Sie eine einzige Spalte bothcols, die die kombinierten Daten enthält. Möglicherweise müssen Sie den Datentyp zwingen, wenn die Spalten nicht kompatibel sind.

1
paxdiablo

Ihre Syntax sollte funktionieren, vielleicht fügen Sie zwischen den Spalten ein Leerzeichen ein

SELECT something + ' ' + somethingElse as onlyOneColumn FROM someTable

1
Arnoldiusss

select column1 || ' ' || coloumn2 as whole_name FROM tablename; hier || ist ein concat-Operator, der für concat in einer einzelnen Spalte und ('') innerhalb von || verwendet wird wird für den Abstand zwischen zwei Spalten verwendet.

0
Abhinav Anand

Ich hoffe diese Antwort hilft:

SELECT (CAST(id AS NVARCHAR)+','+name) AS COMBINED_COLUMN FROM TABLENAME;
0
Hisham Shaaban