Merge Colonne

venerdì 16 novembre 2007 - 10.36

Hope Profilo | Junior Member

Salve ragazzi...
Con il comando JOIN è possibile unire due colonne dellla stessa tabella?
Io ho due colonne con nella prima il dato A e nell'altra il dato B
Dopo il comando JOIN vorrei che una colonna diventasse con dati AB è possibile?
ho provato ma invano

grazie a tutti

Saluti

alx_81 Profilo | Guru

>Salve ragazzi...
Ciao!

>Con il comando JOIN è possibile unire due colonne dellla stessa tabella?
>Io ho due colonne con nella prima il dato A e nell'altra il dato B
>Dopo il comando JOIN vorrei che una colonna diventasse con dati AB è possibile?
>ho provato ma invano

con JOIN tu colleghi due tabelle, e visualizzi tante colonne quante specificate nella parte SELECT della query.
Per specificare come visualizzare i campi devi intervenite proprio nella SELECT:

SELECT T1.campo1 , T2.campo2 FROM tabella1 as T1 JOIN tabella2 as T2 ON T1.camporelazione = T2.camporelazione

In questo modo colleghi le due tabelle chiamata rispettivamente "tabella1" e "tabella2" per il campo chiamato "camporelazione" di ognuna. Se tu vuoi ottenere un campo unico con la concatenazione delle due colonne basta modificare la query come segue:

SELECT T1.campo1 + ' ' + T2.campo2 AS campotot FROM tabella1 as T1 JOIN tabella2 as T2 ON T1.camporelazione = T2.camporelazione

fai attenzione però che se campo1 o campo2 sono di tipo non stringa devi utilizzare gli operatori di conversione per ottenere delle stringhe. Se ci passi la create delle due tabelle e qualche valore possiamo scriverti la query che fa al caso tuo.
Ricordati inoltre di comunicare che DBMS utilizzi..

>
>grazie a tutti
di nulla!

Alx81 =)

http://blogs.dotnethell.it/suxstellino

lbenaglia Profilo | Guru

>Con il comando JOIN è possibile unire due colonne dellla stessa
>tabella?
L'operatore JOIN nasce per risolvere altre esigenze, ovvero quelle di recuperare informazioni tra due o più tabelle basate su relazioni logiche tra gli oggetti.

>Io ho due colonne con nella prima il dato A e nell'altra il dato
>B
>Dopo il comando JOIN vorrei che una colonna diventasse con dati
>AB è possibile?
Certo, ma le JOIN non servono:

SELECT A + B FROM tabella

A e B devono essere di tipo stringa, altrimenti verrà eseguita la somma dei loro valori
Nel caso non lo siano puoi utilizzare le funzioni CAST e CONVERT per trasformarle in stringa prima di concatenarle.

>grazie a tutti
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Hope Profilo | Junior Member

Grazie ragazzi...
Ho utilizzato il metodo suggeritomi da lbenaglia ma non accade nulla.
Utilizzo MYSQL,entrambi i campi che voglio unire hanno come valore datatype VARCHAR.
Il bello(in questo dovrei dire il brutto) è che non mi genera nessuno errore d'espressione,ma neanche mi unisce i miei due valori tra di loro...
Avete suggerimenti?
grazie ancora...

Saluti

lbenaglia Profilo | Guru

>Utilizzo MYSQL,entrambi i campi che voglio unire hanno come valore
>datatype VARCHAR.
>Il bello(in questo dovrei dire il brutto) è che non mi genera
>nessuno errore d'espressione,ma neanche mi unisce i miei due
>valori tra di loro...
>Avete suggerimenti?

Si, la prossima volta specifica in modo chiaro il DBMS che utilizzi
In MySQL la concatenazione di stringhe si fa tramite la funzione CONCAT():
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat

>grazie ancora...
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5