Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169

    2 SELECT ma non so come fare ???

    Ciao Raga,

    Ho bisogno d'estrapolare dei risultati da 2 select ma non so come fare, o meglio ho provato ma il risultato è disastroso !! mi spiego meglio:

    ho 2 tabelle
    1° tabella
    CategorieProvince -> Colonne Tabella -> Categoria Provincia
    2° tabella
    Utenti -> Colonne Tabella -> Categoria Provincia1 Provincia2 Provincia3 Provincia4 Prezzo

    praticamente da ogni categoria devo estrarre il minor prezzo reperibile far tutti gli utenti

    ho provato in questo modo ma il risultato è un disastro:


    Codice PHP:

    "SELECT
    Categoria, Provincia, Link
    FROM CategorieProvince
    ORDER BY Categoria ASC"


    $CatQuery1 
    $rowslink['Categoria']; // Prendo ultima Categoria da select precedente
    $ProvQuery1 $rowslink['Provincia']; // Prendo ultima Provincia da select precedente
                                                
                                        
    SELECT Prezzo FROM Utenti 
                                                                       WHERE Categoria 
    '$CatQuery1' AND Provincia1 '$ProvQuery1'
                                                                       
    AND Categoria '$CatQuery1' AND Provincia2 '$ProvQuery1'
                                                                       
    AND Categoria '$CatQuery1' AND Provincia3 '$ProvQuery1'
                                                                       
    AND Categoria '$CatQuery1' AND Provincia4 '$ProvQuery1'
                                                                       
    ORDER BY Prezzo ASC LIMIT 1"; 
    qualcuno mi aiuta ???

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169

    $CatQuery1 = $rowslink['Categoria']; // Prendo ultima Categoria da select precedente
    $ProvQuery1 = $rowslink['Provincia']; // Prendo ultima Provincia da select precedente


    "SELECT Prezzo FROM Utenti
    WHERE Categoria = '$CatQuery1' AND Provincia1 = '$ProvQuery1'
    AND Categoria = '$CatQuery1' AND Provincia2 = '$ProvQuery1'
    AND Categoria = '$CatQuery1' AND Provincia3 = '$ProvQuery1'
    AND Categoria = '$CatQuery1' AND Provincia4 = '$ProvQuery1'
    ORDER BY Prezzo ASC LIMIT 1";

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    ora sembra funzionare quasi completamente ho utilizzato queste 2 query:

    Codice PHP:
    "SELECT Categoria, Provincia, Link
    FROM CategorieProvince
    WHERE Provincia = '
    $provincia' AND Categoria NOT LIKE '%$categoria'  
    ORDER BY Categoria ASC" 

    Codice PHP:
    $CatQuery1 $rowslink['Categoria']; // Prendo ultima Categoria da select precedente
    $ProvQuery1 $rowslink['Provincia']; // Prendo ultima Provincia da select precedente

    "SELECT Attivo, ConfermaRegistrazione, DataScadenza, Categoria, Provincia1, Provincia2, Provincia3, Provincia4, Prezzo 
    FROM Utenti 
                                                                       WHERE Categoria = '
    $CatQuery1' AND Provincia1 = '$ProvQuery1'
                                                                       OR Categoria = '
    $CatQuery1' AND Provincia2 = '$ProvQuery1'
                                                                       OR Categoria = '
    $CatQuery1' AND Provincia3 = '$ProvQuery1'
                                                                       OR Categoria = '
    $CatQuery1' AND Provincia4 = '$ProvQuery1'
                                                                       AND Attivo = '1' AND ConfermaRegistrazione = '1' AND DataScadenza >= '
    $DataOdierna'
                                                                       ORDER BY Prezzo DESC"

    ora funziona tutto tranne questa ultima parte della seconda query:

    Codice PHP:
    AND Attivo '1' AND ConfermaRegistrazione '1' AND DataScadenza >= '$DataOdierna' 
    Qualcuno saprebbe dirmi perchè ? forse ci sono troppi AND ???

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    Dopo molti tentativo mi è uscita questa soluzione, la posto per chi ne avesse bisogno:

    Codice PHP:
    1° query
    "SELECT
    Categoria, Provincia, Link
    FROM CategorieProvince
    WHERE Provincia = '
    $provincia' AND Categoria NOT LIKE '%$categoria'  
    ORDER BY Categoria ASC"
    ;

    2° query
    // QUERY 2 TROVA IL MINOR PREZZO TRA GLI UTENTI PER L'ULTIMA CATEGORIA e PROVINCIA DEL RISULTATO DELLA SELECT PRECEDENTE                        
    $CatQuery1 $rowslink['Categoria']; // Prendo ultima Categoria da select precedente
    $ProvQuery1 $rowslink['Provincia']; // Prendo ultima Provincia da select precedente

                                                
    $sqlMinPrezzo "SELECT MIN(Prezzo) AS min
    FROM Utenti 
    WHERE Categoria = '
    $CatQuery1
    AND (Provincia1 = '
    $ProvQuery1' OR Provincia2 = '$ProvQuery1' OR Provincia3 = '$ProvQuery1' OR Provincia4 = '$ProvQuery1')
    AND DataScadenza >= '
    $DataOdierna' AND Attivo = '1' AND ConfermaRegistrazione = '1'"
    Questa soluzione funziona però c'è sempre il dubbio che non sia molto corretta, quindi se qualcuno vuole aggiungere miglioramenti........

    Grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.