Poblema su select

martedì 03 maggio 2005 - 19.13

contiello Profilo | Senior Member

scusate ho avuto problemi con il browser....

Salve ragazzi ho un problema nel creare una select sql... in Sql Server
Prima di porvi il mio quesito è necessario fare una piccola premesse
Immaginate di avere una tabella chiamata "Contatti".
Questa Tabella è composta da tre campi il primo è l'id del record , il secondo indica che tipo di contatto è :
A per contatto azienda
P per contatto persona
la terza colonna è il link alla tabella che contiene il nome della persona o dell'azienda.
e qui viene il bello perchè il link punta a 2 tabelle diverse una con l'elenco delle aziende una con l'elenco del personale.
Per ottenere il risultato che desidero all'0interno della select dovrei porre una condizione if
se cioè il campo tipo contatto = 'P' fai la join con la tabella Persone
se il campo tipo contatto = 'A' fai la join con la tabella Aziende.
Non so se sono stato chiaro cmq vi allego gli script delle tabelle

per non farvi perdere del tempo ho allegato un file con gli script per creare le tabelle di esempio con i dati

Ciao grazie

LudovicoVan Profilo | Junior Member

Ciao contiello,

> Per ottenere il risultato che desidero all'0interno della select dovrei porre una condizione if
> se cioè il campo tipo contatto = 'P' fai la join con la tabella Persone
> se il campo tipo contatto = 'A' fai la join con la tabella Aziende.

qualcosa del genere:

--------------------------------------------------------------
SELECT C.*, AP.DESCRIZIONE
FROM Contatti AS C
LEFT OUTER JOIN (
SELECT *, 'A' AS TIPO FROM Aziende
UNION
SELECT *, 'P' AS TIPO FROM Personale) AS AP
ON C.TIPO = AP.TIPO AND C.ID_LINK = AP.IDLINK
--------------------------------------------------------------

HTH. -LV
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