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

    [MySql] Convertire subquery in joins in un nested set

    Salve a tutti,
    ho due tabelle (un di categorie ed una di prodotti) che utilizzano una struttura di tipo nested set.
    Ho la necessità di estrapolare tutti i prodotti in ricorsione dalla categoria con id = 2 INCLUDENDO SOLO le categorie con id 4,5,6,7 (e ovviamente anche l'id 2) escludendo dalla ricerca quindi le categorie che hanno id diversi da (2,4,5,6,7).
    Ho realizzato questa query FUNZIONANTE che però fa utilizzo di subquery.
    Vorrei evitare di usare le subquery trasformandole in JOINS.
    Qualcuno mi può venire in aiuto???

    Grazie a tutti

    ecco la query:
    codice:
    SELECT 
    prodotti.id,
    prodotti.nome,
    node.name as cat
    
    FROM tab_prodotti AS prodotti 
    INNER JOIN tab_categorie AS node 
    INNER JOIN tab_categorie AS parent ON node.lft BETWEEN parent.lft AND parent.rgt AND ( 
    node.id = ANY ( SELECT node.id FROM tab_categorie AS node INNER JOIN tab_categorie AS parent ON node.lft BETWEEN parent.lft AND parent.rgt AND parent.id = 4 ORDER BY node.lft ) OR 
    node.id = ANY ( SELECT node.id FROM tab_categorie AS node INNER JOIN tab_categorie AS parent ON node.lft BETWEEN parent.lft AND parent.rgt AND parent.id = 5 ORDER BY node.lft ) OR 
    node.id = ANY ( SELECT node.id FROM tab_categorie AS node INNER JOIN tab_categorie AS parent ON node.lft BETWEEN parent.lft AND parent.rgt AND parent.id = 6 ORDER BY node.lft ) OR 
    node.id = ANY ( SELECT node.id FROM tab_categorie AS node INNER JOIN tab_categorie AS parent ON node.lft BETWEEN parent.lft AND parent.rgt AND parent.id = 7 ORDER BY node.lft )
    ) 
    AND node.id = prodotti.cat_id AND parent.id = 2 
    GROUP BY prodotti.id 
    ORDER BY node.name ASC
    What is the |\/|atrix?

  2. #2
    nessuna idea?
    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.