Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509

    si puo fare una join tra due query?

    ciao a tutti. mi è comparsoun problema.

    ho 3 tabelle.

    prima :ci sono gli id e i nomi delle sezioni
    seconda :ci sono gli id e i nomi delle categorie(sotto sezione) e l'id della sezione relativa
    terza :ci sono gli id e i nomi delle attività e sono segnati quali sezioni e categorie sono utilizzate dall'attività in quiestione

    quello che facevo io era creare una join tra le tabelle per avere una lista di tutte le categorie e delle sezioni relative.

    ma volevo fare una cosa un po piu carina. ovvero volevo fare un count delle attività che sono associate ad una categoria.
    ho buttato giu le due query separatamente :
    Codice PHP:
    SELECT categoria.id AS id,categoria.value AS categoriasezione.value AS sezione,COUNT(categoria.value)
    FROM categoria 
    LEFT JOIN sezione ON categoria
    .rif_sez=sezione.id 
    JOIN attivita 
    WHERE 
    (
         
    attivita.rif_cat1=categoria.id 
         
    OR attivita.rif_cat2=categoria.id 
         
    OR attivita.rif_cat3=categoria.id 
         
    OR attivita.rif_cat4=categoria.id
    )
    GROUP BY categoria

    SELECT categoria
    .id AS id,categoria.value AS categoriasezione.value AS sezione
    FROM categoria 
    LEFT JOIN sezione ON categoria
    .rif_sez=sezione.id 
    con la prima troverei tutto..ma non compaiono le categorie che non sono utilizzate..con la seconda troverei tutte le categorie.
    un distinct non si puo fare, la union è inutile..dovrei fare una join ma non ho trovato alcun modo per far si che succeda.

    quello che vorrei ottenere è la lista di tutte le categoria,sezioni,quante attività usano la categoria.
    avete qualche idea? grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    nessuna idea? mi basta semplicemente l'idea di come farlo o un consiglio su come procedere. il resto mi arrangio.

  3. #3
    Codice PHP:
    SELECT *
    FROM (
       
    SELECT ....
    ) AS 
    tab1
    JOIN 
    (
       
    SELECT ....
    ) AS 
    tab2 ON tab1.attribX tab2.attribY 
    Administrator of NAMDesign.Net

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    perfetto non mi veniva proprio come fare. ho usato una outer join perchè volevo usare anceh i valori che non combaciavano.
    grazie mille per l'aiuto

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.