Buscar

Utilizando o union all com cast

Código

{Quando for necessário utilizar um union para juntar duas tabelas que não sejam equivalentes é possível utilizar o cast na instrução para criar um campo virtual.

Ex: Tab. Clientes (CodCliente int, NomeCli Varchar(40), CategoriaCli Varchar(10))
Tab. Fornecedores (CodFornecedor int, NomeFor Varchar(40))

na hora da Consulta fica assim:

Select clientes.codCliente, clientes.NomeCli, clientes.CategoriaCli from clientes
union
select fornecedores.CodFornecedor, fornecedores.NomeFor, cast('' as varchar(10))
order by 1

A saída deverá ser algo como:

CodCliente - NomeCli                          -   CategoriaCli
----------------------------------------------------------------------
1                 JOAQUIM JOSE                   VAREJO
2                 MANOEL DA SILVA             ATACADO
3                 CLIENTE 3                           ATACADO
1                 FORNECEDOR 1          
2                 FORNECEDOR 2
3                 FORNECEDOR 3

sds     ;)

}

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Banco de dados
Adicionada dia: 29/12/07
Por: Helder N. Castro
Visualizada: 2943 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009