Ir para conteúdo

POWERED BY:

Arquivado

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

willwalker

Select de Avo, pai, filho e neto

Recommended Posts

Eu fiz esse select para copiar os dados da categoria anterior para a categoria seguinte caso o id do pai dessa categoria fosse a ultima da hierarquia.

 

SELECT
tl.product_category AS categoria,
neto.id AS idn,
neto.categoria_pt AS nnn,
IF(neto.pai=0, neto.id, filho.id) AS idf,
IF(neto.pai=0, neto.categoria_pt, filho.categoria_pt) AS nnf,
IF(neto.pai=0, neto.id, IF(filho.pai=0, filho.id, pai.id)) AS idp,
IF(neto.pai=0, neto.categoria_pt, IF(filho.pai=0, filho.categoria_pt, pai.categoria_pt)) AS nnp,
IF(neto.pai=0, neto.id, IF(filho.pai=0, filho.id, IF(pai.pai=0, pai.id, avo.id))) AS ida,
IF(neto.pai=0, neto.categoria_pt, IF(filho.pai=0, filho.categoria_pt, IF(pai.pai=0, pai.categoria_pt, avo.categoria_pt))) AS nna
FROM
trade_leads AS tl
LEFT OUTER JOIN categorias AS neto ON neto.id = tl.product_category
LEFT OUTER JOIN categorias AS filho ON filho.id = neto.pai
LEFT OUTER JOIN categorias AS pai ON pai.id = filho.pai
LEFT OUTER JOIN categorias AS avo ON avo.id = pai.pai
INNER JOIN members AS mb ON tl.uid = mb.id
WHERE
tl.id = '7'

 

 

O que eu quero fazer é dar um count de valores dentro da categoria e de acordo com o numero de resultados eu copiar os dados da seguinte maneira.

 

Se tem 4 categorias diferentes cadastradas na categoria de produtos. Ele fazer a hierarquia de neto, filho, pai e avo.

Se tem 3 categorias diferentes cadastradas na categoria de produtos. Ele fazer a hierarquia de filho, pai e avo.

Se tem 2 categorias diferentes cadastradas na categoria de produtos. Ele fazer a hierarquia de pai e avo.

Se tem 1 categorias diferentes cadastradas na categoria de produtos. Ele fazer a hierarquia de avo.

 

Esse select me traz a seguinte linha:

resultc.jpg

 

 

Quem puder me ajudar fico muito agradecido.

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.