Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mehow

Montar tabela ao estilo Excel

Recommended Posts

Gostaria de saber se no MySQL é possível tirar um relatório dessa forma:

tabelaexel.jpg

 

No caso é um sistema de cotação onde o Fornecedor participa da cotação, ele preenche o valor para cada produto.

Na imagem exemplo tem 3 fornecedores, se tiver 10 ficará 10 abas cada uma com o nome do Fornecedor e com o valor que cada um preencheu

 

Preciso desenvolver uma consulta para retornar esses resultados e caso o fornecedor não tiver preenchido em um determinado produto aparecer vazio ou com um X

Alguma sugestão de como fazer?

 

As tabelas do banco são essas:

cotacao.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera me dêem uma ajuda, aí... eu fiz uma query porém ela está repetindo os produtos:

resultado.jpg

 

SELECT
ic.idcotfornecedor,f.idfornecedor,cf.idcotacao,ic.idproduto,p.produto,

 CASE WHEN ic.idproduto IN
(SELECT ic.idproduto FROM itens_cot_fornecedor as icf WHERE idcotfornecedor = 28) THEN ic.idproduto ELSE NULL END as id,


CASE WHEN ic.preco_avista IN
(SELECT ic.preco_avista FROM itens_cot_fornecedor as icf WHERE idcotfornecedor = 28
 AND icf.preco_avista = 
    (SELECT preco_avista as menoravista 
        FROM cotacao.itens_cot_fornecedor as icf2 
        WHERE icf.iditens_cot_fornecedor = icf2.iditens_cot_fornecedor
        AND f.idfornecedor  = 1 
        GROUP BY ic.idproduto
    ) 
 )
THEN ic.preco_avista ELSE NULL END as Fornecedor,

CASE WHEN ic.preco_avista IN
(SELECT ic.preco_avista FROM itens_cot_fornecedor as p2 WHERE idcotfornecedor = 28
 AND p2.preco_avista = 
    (SELECT preco_avista as menoravista 
        FROM cotacao.itens_cot_fornecedor as c2 
        WHERE c2.iditens_cot_fornecedor = p2.iditens_cot_fornecedor
        AND f.idfornecedor  = 23 
        GROUP BY ic.idproduto
    ) 
 )
THEN ic.preco_avista ELSE NULL END as Fornecedor2


FROM itens_cot_fornecedor ic 
INNER JOIN produtos p ON(ic.idproduto = p.idproduto )
INNER JOIN cotacao_fornecedor cf ON(cf.idcotfornecedor = ic.idcotfornecedor)
INNER JOIN fornecedores f ON(f.idfornecedor = cf.idfornecedor)
WHERE cf.idcotacao = 8






Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.