Ottenere una tabella unica partendo da cinque tabelle distinte

venerdì 16 maggio 2008 - 08.06

Ondatem Profilo | Newbie

Un saluto a tutta la comunità.
Ho un problema con l'ottenere dei dati da sql server 2005 Express.
Nel mio archivio ho cinque tabelle distinte tra loro, cioè nessuna di esse ha dati in relazione con le altre ed ognuna ha un numero diverso di colonne ed attributi.
Ora io dovrei riuscire ad ottenere una tabella unica avente tutte le colonne e gli attributi delle cinque precedenti.
Io ho provato ad effettuare un cross join, ma così ottengo il prodotto cartesiano e non è quello che desidero. Infatti vorrei semplicemente avere la somma degli attributi della prima, più gli attributi della seconda e così via.
Ringrazio anticipatamente tutti per una risposta.

lbenaglia Profilo | Guru

>Nel mio archivio ho cinque tabelle distinte tra loro, cioè nessuna
>di esse ha dati in relazione con le altre ed ognuna ha un numero
>diverso di colonne ed attributi.
>Ora io dovrei riuscire ad ottenere una tabella unica avente tutte
>le colonne e gli attributi delle cinque precedenti.

1) A cosa serve?
2) Quando importi i dati dalla tabella 1, come intendi valorizzare le colonne delle altre 4?

>Infatti vorrei
>semplicemente avere la somma degli attributi della prima, più
>gli attributi della seconda e così via.
Cosa intendi con "somma degli attributi"?

>Ringrazio anticipatamente tutti per una risposta.
Prego.

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

Ondatem Profilo | Newbie

Grazie per la risposta. Cerco di spiegarti il problema per punti

>1) A cosa serve?
Nonostante sia possibile ottenere i dati effettuando query distinte su ogni tabella per esigenze aziendali dovrei avere una sola tabella di riferimento

>Quando importi i dati dalla tabella 1, come intendi valorizzare le colonne delle altre 4?
Io vorrei avere un'unica tabella che abbia come colonne tutte quelle delle altre tabelle.
Cioè se la tabella1 ha la colonna nome e cognome e la tabella2 ha le colonne professione e stipendio quella unica dovrebbe avere le colonne nome,cognome,professione e stipendio. Considera che nel mio caso le tabelle sono 5 e come ti avevo detto non ci sono dati in relazione tra loro.
Naturalmente non avendo dati in relazione se dentro la tabella unica ho dei campi con null la cosa va bene

>Cosa intendi con "somma degli attributi"?
Intendo che se la tabella1 ha cinque record,
la tabella2 quattro record,
la tabella3 un record,
la tabella4 due record
la tabella5 un record
La tabella unica dovrebbe avere 13 record.


lbenaglia Profilo | Guru

>Nonostante sia possibile ottenere i dati effettuando query distinte
>su ogni tabella per esigenze aziendali dovrei avere una sola
>tabella di riferimento
Mmmm... la risposta non mi soddisfa
Un database è molto diverso da un foglio Excel... mi piacerebbe approfondire il vero motivo che ti spinge ad utilizzare in modo errato un DBMS

>Io vorrei avere un'unica tabella che abbia come colonne tutte
>quelle delle altre tabelle.
>Cioè se la tabella1 ha la colonna nome e cognome e la tabella2
>ha le colonne professione e stipendio quella unica dovrebbe avere
>le colonne nome,cognome,professione e stipendio. Considera che
>nel mio caso le tabelle sono 5 e come ti avevo detto non ci sono
>dati in relazione tra loro.
>Naturalmente non avendo dati in relazione se dentro la tabella
>unica ho dei campi con null la cosa va bene

Quindi avrai:

Nome Cognome Professione Stipendio -------- --------- ------------ ---------- Lorenzo Benaglia NULL NULL NULL NULL DBA Basso :-D

Mi spieghi a cosa servirebbe una "roba" del genere?

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

Ondatem Profilo | Newbie

Esatto è quello che dovrei ottenere!!!

La cosa è possibile o stiamo parlando di fanta sql?

Grazie ancora per la tua disponibilità!

Ondatem Profilo | Newbie

Ho risolto la questione effettuando un FULL OUTER JOIN tra le tabelle.
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