GARANTIR DESCONTO

Fórum Instrução SQL #271480

08/03/2005

0

Para selecionar os itens de uma venda, tenho a seguinte consulta SQL em uma query:
´
SELECT VENDAMESTRE.*, VENDADETALHE.*,
PRODUTOS.DESCRICAO AS DESCRICAOPRODUTO FROM VENDAMESTRE
INNER JOIN VENDADETALHE ON (VENDAMESTRE.CODIGOMESTRE =
VENDADETALHE.CODIGOMESTRE)
INNER JOIN PRODUTOS ON (VENDADETALHE.PRODUTO = PRODUTOS.CODIGO)
WHERE
VENDAMESTRE.DATA BETWEEN :VDtInicial and :VDtFinal
´
Funciona beleza.
As tabelas vendamestre e vendadetalhe referem-se às vendas de produtos. Mas tenho venda de produtos também no módulo serviços, onde junto com serviços, também são vendidos itens de produtos iguais aos da venda normal. São as tabelas SERVICOSMESTRE E SERVICOSPECAS.
O que eu preciso agora é nessa mesma instrução sql, incluir os itens da tabela SERVICOPECAS que é detalhe da tabela SERVICOMESTRE.
Isso é possível? Como ficaria a instrução SQL?
Obrigado.


Valdirdill

Valdirdill

Responder

Posts

08/03/2005

Emerson Nascimento

talvez com union seu problema seja resolvido:

SELECT VENDAMESTRE.*, VENDADETALHE.*,
PRODUTOS.DESCRICAO AS DESCRICAOPRODUTO
FROM VENDAMESTRE
INNER JOIN VENDADETALHE ON (VENDAMESTRE.CODIGOMESTRE =
VENDADETALHE.CODIGOMESTRE)
INNER JOIN PRODUTOS ON (VENDADETALHE.PRODUTO = PRODUTOS.CODIGO)
WHERE
VENDAMESTRE.DATA BETWEEN :VDtInicial and :VDtFinal

UNION ALL

SELECT SERVICOMESTRE.*, SERVICOPECAS.*,
PRODUTOS.DESCRICAO AS DESCRICAOPRODUTO
FROM SERVICOMESTRE
INNER JOIN SERVICOPECAS ON (SERVICOPECAS.CODIGOMESTRE =
SERVICOMESTRE.CODIGOMESTRE)
INNER JOIN PRODUTOS ON (PRODUTOS.CODIGO = SERVICOPECAS.PRODUTO)
WHERE
SERVICOMESTRE.DATA BETWEEN :VDtInicial and :VDtFinal


Responder

Gostei + 0

08/03/2005

Emerson Nascimento

uma observação: só será possivel a seleção de todos os campos caso as tabelas sejam idênticas. o ideal seria exibir somente os campos necessários, desde que haja campos iguais em ambas tabelas.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar