Perguntas Consultar últimos preços de produtos vendidos X vendedor

Mais
12 anos 1 mês atrás #5876 por globsecure
Boa tarde Pessoal,

Estou com um grande problema, um cliente meu tem 5 empresas ou seja SC6010, SC6020, SC6030... Assim por diante.
Estou fazendo uma pesquisa no banco de dados, que me deve retornar os últimos 6 meses de venda dos produtos ou seja retornar os valores que eles foram vendidos.

Minha ideia inicial foi:
SELECT 
	DISTINCT ip2.C6_PRODUTO as codigo_produto, (
	SELECT 
		TOP 1 ip1.C6_PRCVEN 
	FROM 
		SC6010 ip1 
	WHERE ip1.C6_CLI = ip2.C6_CLI 
	AND 
		ip1.C6_LOJA = ip2.C6_LOJA 
	AND 
	ip1.C6_PRODUTO = ip2.C6_PRODUTO	 
	ORDER BY ip1.C6_DATFAT DESC) preco_venda, 
		ip2.C6_CLI as codigo_cliente, 
		ip2.C6_LOJA as loja_cliente 
	FROM 
		SC6010 ip2 
	WHERE 
		ip2.C6_CLI 
	IN( 
		SELECT 
			A1_COD 
		FROM 
			SA1010 
		WHERE 
			A1_VEND = '000012' 
		AND A1_MSBLQL != '1' 
		AND D_E_L_E_T_ != '*' 
		) 
		AND ip2.C6_DATFAT >= '20120321' ORDER BY ip2.C6_PRODUTO, ip2.C6_CLI

Porém eu tenho que repetir isso 5 vezes, causando lentidão e até mesmo travamento do Banco de Dados. Será que eu posso deixar isso mais rapído com UNION?

Alguém tem uma ideia?

Obrigado por sua atenção.

Por favor Acessar ou Registrar para participar da conversa.

Mais
12 anos 1 mês atrás #6063 por poliester
William,
BOA TARDE!

O UNION tem a função de combinar dois ou mais resultados de um select.
Se fosse imaginar como isso seria... seria algo do tipo colocar seis ou mais campos de seis ou mais tabelas alinhados um ao lado do outro.
Particularmente, não acredito que haverá um ganho de desempenho real!
Teste aí e poste o resultado pra gente!

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.095 segundos
Joomla templates by a4joomla