View Full Version : SQL - Obter o nome da tabela do resultado de UNIONs [Resolvido]


Pretender
15-05-2008, 15:37
boas,
Tenho aqui um query que faz um UNION de 4 tabelas e mostra os resultado (2 colunas).
Precisava de obter também o nome da tabela de onde vem cada resultado.

Para obter o nome das tabelas da BD utilizo SELECT name FROM dbo.sysobjects.
Não estou a conseguir conciliar as duas coisas... (obter o nome da tabela a que corresponde cada resultado)

Alguém me pode ajudar? :p
obrigado ;)

PS: Se o título da thread estiver confuso, estejam à vontade para o corrigir ;)

Armadillo
15-05-2008, 15:40
qual a razao de teres que fazer isso? Nao ligaste o complicador? ;)

edit: mostra la o query

edit2:
mas tu ja sabes de onde vêm os dados "select tab1.field1, tab2.field2"
o que podes fazer é isto:

select tab1.field1 as tab1_gafta, tab2.field2 as tab2_gafta
...

Pretender
15-05-2008, 15:47
4 tabelas: Europe, America, Africa, Asia

Query
SELECT name, address FROM Europe UNION SELECT name, address FROM America UNION SELECT name, address FROM Africa UNION SELECT name, address FROM Asia

Este mostra o name e address de cada continente...
queria agora que junto a cada name e address aparecesse o continente, ou seja o nome da tabela originária

Lostctrl
15-05-2008, 16:00
Posso sugerir algo do género ?

SELECT 'Europe' as continent, name, address FROM Europe UNION SELECT 'America' as continent, name, address FROM America UNION SELECT 'Africa' as continent, name, address FROM Africa UNION SELECT 'Asia' as continent, name, address FROM Asia

oscarolim
15-05-2008, 16:02
SELECT name, address, 'europe' as continent FROM Europe UNION SELECT name, address, 'america' as continent FROM America UNION SELECT name, address, 'africa' as continent FROM Africa UNION SELECT name, address, 'asia' as continent FROM Asia

Em mySQL funciona :)

EDIT: O rapaz de cima foi mais rápido :P

Lostctrl
15-05-2008, 16:04
EDIT: O rapaz de cima foi mais rápido :P

:-D


Ou em vez de ter aquele monte de tabelas... 1 tabela continentes com a coluna continente...

Pretender
15-05-2008, 16:19
A vossa solução funcionou :)
Thanks! Mais uma vez a boa camaradagem da Tz veio ao de cima :)
Obrigado ppl :)