Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [MySql] Funzioni aggregate in un Nested Set

    Salve a tutti,
    stavo leggendo un tutorial su http://dev.mysql.com/tech-resources/...ical-data.html

    Ora mi ritrovo questa query che estrapola tutte le categorie che contengono almeno un prodotto mostrando il numero totale di prodotti contenuti in ogni ramo.

    Codice PHP:
    SELECT parent.category_idparent.nameCOUNTproduct.name ) AS num_prod
    FROM nested_category 
    AS nodenested_category AS parentproduct
    WHERE node
    .lft
    BETWEEN parent
    .lft
    AND parent.rgt
    AND node.category_id product.category_id
    GROUP BY parent
    .name
    ORDER BY parent
    .category_id 
    Come faccio a visualizzare anche le categorie dove non ci sono prodotti (assegnando un valore "0" alla riga corrispondente relativa alla colonna num_prod )?
    Grazie a tutti.
    What is the |\/|atrix?

  2. #2
    Cosė, a naso, eplicita gli inner join e trasforma l'inner join con product in un left join...poi vedi che succede.
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  3. #3
    Il problema č proprio quello... non ci capisco pių di tanto con le join...
    Leggendo su mysql.com questa č una self-join, ma onestamente non ci sto capendo molto.
    Potresti darmi un'altro aiutino?

    Grazie per l'interessamento.
    What is the |\/|atrix?

  4. #4
    Le self join non sono altro che delle inner join di una tabella con sé stessa, quindi quella query che hai postato, in forma esplicita diventa:

    codice:
    SELECT 
    	parent.category_id, parent.name, COUNT( product.name ) AS num_prod
    FROM 
    	nested_category AS node
    INNER JOIN 
    	nested_category AS parent
    	ON node.lft BETWEEN parent.lft AND parent.rgt
    LEFT JOIN /*INNER JOIN*/
    	product
    	ON node.category_id = product.category_id
    GROUP BY 
    	parent.name
    ORDER BY 
    	parent.category_id
    dove ho impostato il left join con la tabella product.
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  5. #5
    Non so come ringraziarti!
    Ora devo vedere di studiarmi le join.

    Grazie mille!
    What is the |\/|atrix?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.