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

    [PHP/MySQL3.4] query annidata o no?

    Come da topic...

    ho tre tabelle:

    ATLETI
    memberID | nome | cognome | etc...

    RISULTATI
    risultatoID | garaID | memberID | piazzamento

    GARE
    garaID | nome | data | iscritti | etc...

    Ogni volta che un atleta fa una gara (entrambi sono già nelle rispettive tabelle) viene inserito un risultato nella tabella RISULTATI.

    I risultati sono quindi alla rinfusa, tutti insieme. ma amen.

    Per creare la scheda di un atleta, devo andare in risultati a prendere tutti i suoi, quindi faccio
    SELECT *
    FROM risultati
    WHERE memberID = '$id'


    Ora però, nella stessa pagina ho bisogno di avere anche i dati della gara di ogni risultato. Io avevo pensato a

    SELECT *
    FROM gara
    WHERE garaID = (
    SELECT garaID
    FROM risultati
    WHERE memberID = '$id' )


    Chiaramente phpmyadmin mi dice:
    You have an error in your SQL syntax near 'SELECT garaID
    FROM risultati
    WHERE memberID = '1' ) LIMIT 0, 30' at line 4


    Questo può essere dovuto dal fatto che (da quel ke ho sentito dire) MySQL 3.x non supporta le query annidate.
    È vero?
    Qual'è la soluzione?
    O eventuale soluzione alternativa?
    Forse sto sbagliando il ragionamento... aiuto...

    ciauz,
    Ale
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Vero, le subqueries da mysql 4.1.

    Usa il JOIN.

    SELECT gara.* , risultati.*
    FROM gara INNER JOIN risultati
    ON gara.garaID=risultati.garaID
    WHERE risultati.memberID=$id

  3. #3
    scusa, ma semplicemente salvare il risultato della query annidata in una variabile o in un array e dopo querare con quella?

  4. #4
    dopo provo con la join. grazie teuzzo


    KaNnA _ avevo pensato a questa possibilità, ma non so esattamente come metterla in pratica. mi puoi fare un esempio per favore? so programmare ma sono alle prime armi con php/mysql e sto cercando di capire passo dopo passo come si strutturano le pagine in maniera corretta e anche certe funzioni o cmq procedure (non nel senso di "procedure" in inglisc) standard da usare.
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  5. #5
    up!
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  6. #6
    Originariamente inviato da KaNnA
    scusa, ma semplicemente salvare il risultato della query annidata in una variabile o in un array e dopo querare con quella?
    come faccio nel caso in cui appunto il risultato della prima query sia un array?
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  7. #7
    uff ma xkè passo sempre in seconda pagina?...


    vabè.. up!
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

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.