Ir para conteúdo
Fórum Script Brasil
  • 0

Consulta entre varias tabelas sem referencia


MSA_GT

Pergunta

Tenho 3 tabelas, todas com o campo ColCod em incomum. Preciso fazer uma pesquisa e apresentar os registros de um colaborador (colcod) de todas as tabelas em ordem crescente por data.

Exemplo:

Tabela: Usuário
ColCod...|Nome......
---------|----------
000000654|Mateus
000000580|Rogerio

Tabela: Consumo
CodConsu.|Data......|ColCod....|ValorTotal
---------|----------|----------|----------
000000001|01/01/2013|0000000654|0000010,00
000000002|02/01/2013|0000000580|0000210,00
000000003|20/01/2013|0000000654|0000110,00

Tabela: Pedidos
CodPed...|Data......|ColCod....|ItemTotal
---------|----------|----------|---------
000000001|05/01/2013|0000000654|000000015
000000002|10/01/2013|0000000654|000000005
000000003|15/01/2013|0000000580|000000015

Vamos ao que preciso:

Uma select que com base neste dados me retorne a seguinte consulta

Histórico do Colaborador 654-Mateus

Tabela..|Codigo...|Data......|ColCod....|Valor.....
--------|---------|----------|----------|----------
Consumo.|000000001|01/01/2013|0000000654|0000010,00
Pedido..|000000001|05/01/2013|0000000654|000000015
Pedido..|000000002|10/01/2013|0000000654|000000005
Consumo.|000000003|20/01/2013|0000000654|0000110,00

A tabela acima seria apenas como exibirei...

Editado por MSA_GT
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Faça assim:

SELECT "consumo" AS tabela, codconsu AS codigo,  data, colcod, valortotal AS valor  FROM consumo
where colcod = (SELECT colcod FROM usuario WHERE nome = "Mateus")
UNION
SELECT "pedidos" AS tabela, codped AS codigo, data, colcod, itemtotal AS valor FROM pedidos
WHERE colcod = (SELECT colcod FROM usuario WHERE nome = "Mateus")
Link para o comentário
Compartilhar em outros sites

  • 0

cara fecho, pra ficar mais completo como posso criar uma coluna de valor fixo, exemplo:

SELECT "consumo" AS tabela, codconsu AS codigo, data, colcod, valortotal AS valor, TabelaOrig='Consumo' FROM consumo where colcod = (SELECT colcod FROM usuario WHERE nome = "Mateus")

UNION

SELECT "pedidos" AS tabela, codped AS codigo, data, colcod, itemtotal AS valor, TabelaOrig='Pedido' FROM pedidos WHERE colcod = (SELECT colcod FROM usuario WHERE nome = "Mateus")

Editado por MSA_GT
Link para o comentário
Compartilhar em outros sites

  • 0

cara fecho, pra ficar mais completo como posso criar uma coluna de valor fixo, exemplo:

SELECT "consumo" AS tabela, codconsu AS codigo, data, colcod, valortotal AS valor, TabelaOrig='Consumo' FROM consumo where colcod = (SELECT colcod FROM usuario WHERE nome = "Mateus")

UNION

SELECT "pedidos" AS tabela, codped AS codigo, data, colcod, itemtotal AS valor, TabelaOrig='Pedido' FROM pedidos WHERE colcod = (SELECT colcod FROM usuario WHERE nome = "Mateus")

A primeira coluna, onde diz "AS TABELA", a string entre aspas é o nome da tabela e o termo AS indica como vai se chamar aquela coluna. No caso: tabela.

O mesmo tipo de mudança de nome se deu com as colunas "codigo" e "valor"

Não há a necessidade dos termos em vermelho que você colocou.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...