1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

SQL - Obter o nome da tabela do resultado de UNIONs [Resolvido]

Discussão em 'Programação' iniciada por Pretender, 15 de Maio de 2008. (Respostas: 6; Visualizações: 1047)

  1. Pretender

    Pretender Power Member

    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 ;)
     
    Última edição: 15 de Maio de 2008
  2. Armadillo

    Armadillo Folding Member

    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:
    Código:
    select [U]tab1[/U].field1 as tab1_gafta, [U]tab2[/U].field2 as tab2_gafta
    ...
    
     
    Última edição: 15 de Maio de 2008
  3. Pretender

    Pretender Power Member

    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
     
  4. Lostctrl

    Lostctrl [email protected] Member

    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
     
  5. oscarolim

    oscarolim Power Member

    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
     
  6. Lostctrl

    Lostctrl [email protected] Member

    :-D


    Ou em vez de ter aquele monte de tabelas... 1 tabela continentes com a coluna continente...
     
    Última edição: 15 de Maio de 2008
  7. Pretender

    Pretender Power Member

    A vossa solução funcionou :)
    Thanks! Mais uma vez a boa camaradagem da Tz veio ao de cima :)
    Obrigado ppl :)
     

Partilhar esta Página