Visualizzazione risultati 1 fino 2 di 2

Discussione: Join per eseguire query per estrazione prodotti

  1. #1
    Guest

    Predefinito Join per eseguire query per estrazione prodotti

    Ho una struttura che per prodotti, cioè categorie multiple, nel quale mi serve estrarre, in base ad una scelta, prodotti di una certa categoria.

    Ho 3 tabelle così strutturate:

    Lista dei prodotti:
    Codice:
    product_id 	mediumint(8)
    product_title 	varchar(255)
    product_price 	decimal(4,2)
    
    PRIMARY product_id
    Lista delle categorie:
    Codice:
    cat_id 		tinyint(3)
    cat_name 	varchar(20)
    
    PRIMARY cat_id
    Prodotti associati alle categorie:
    Codice:
    product_data_cid 	mediumint(8)
    platform_data_pid 	mediumint(8)
    
    UNIQUE product_data_cid, product_data_pid
    Se la scelta della categoria è impostata su un'opzione vorrei che mi estrasse TUTTI i prodotti che hanno ALMENO la categoria selezionata, altrimenti solo quelli che hanno ESCLUSIVAMENTE LA CATEGORIA selezionata.

    Devo anche fare una concatenazione del campo platform_data_pid (GROUP_CONCAT(CAST(platform_data_pid AS CHAR) SEPARATOR ',')) in modo da poterlo mostrare nella lista dei prodotti!

    Qulcuno riesce a spiegarmi come potrei risolvere questo problema?

    Grazie

  2. #2
    Guest

    Predefinito

    mmm... prova così (ovviamente modificando i nomi di campi e tabelle con quelli opportuni...):
    Codice:
    SELECT
    	p.product_id 
    		AS id_p,
    	p.product_title 
    		AS nome_p,
    	GROUP_CONCAT(DISTINCT CAST(cp.platform_data_pid AS CHAR(1000) CHARACTER SET utf8) SEPARATOR ',')
    		AS id_c_string,
    	GROUP_CONCAT(DISTINCT c.cat_name SEPARATOR ',') 
    			AS nomi_c_string
    FROM
    	prodotti AS p
    INNER JOIN
    	categorie_prodotti AS cp ON (p.product_id=cp.product_data_cid)
    INNER JOIN
    	categorie AS c ON (c.cat_id=cp.platform_data_pid)
    GROUP BY c.cat_id
    HAVING find_in_set($id_categoria_dinamico, id_c_string)
    Ultima modifica di miniscript : 24-02-2011 alle ore 07.05.54

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •