Visualizzazione dei risultati da 1 a 9 su 9

Discussione: problema select

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    203

    problema select

    Mi potreste aiutare in questa select:


    $query = @mysql_query ("SELECT * FROM competizioni as comp1 JOIN (SELECT id, min(tempo_km_gara) AS tempo_km_gara2 FROM competizioni where tipologia_gara='Mezza_Maratona' GROUP BY id) AS comp2 join (SELECT id, nome, cognome, indirizzo_email FROM administrators ) AS admin1 on comp2.id = admin1.id and comp1.tempo_km_gara = comp2.tempo_km_gara2 and comp2.id = comp1.id order by tempo_km_gara2");

    La condizione where della seconda join non mi estrapola solo le mezze maratone ma anche altre gare..

  2. #2
    Non capisco perchè raggruppi per id...
    Se il fattore limitante è tipologia_gara ragruppa per quello (poi dipende dal tuo db).
    Altra cosa: perchè ti devi impiccare con i JOIN? :master:
    Cristiano
    ---
    Originariamente inviato da rebelia : solo un nerd puo' pensare di tacchinare in un forum di informatica

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    203
    ho due tabelle in una ho i nomi cognomi ecc...

    Nell'altra i risultati delle corse..

  4. #4
    Però devi spiegarti meglio... qual'è il risultao finale che devi ottenere? (Quella query che hai scritto non mi fa capire molto).
    Comunque ripeto... a mio avviso puoi evitarti i JOIN e fare un'interrogazione combinata (SELECT dentro SELECT)
    Cristiano
    ---
    Originariamente inviato da rebelia : solo un nerd puo' pensare di tacchinare in un forum di informatica

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    203
    Ho 2 tabelle strutturate così:

    TABELLA ADMINISTRATORS

    id | nome | cognome | indirizzo_email


    TABELLA COMPETIZIONI

    id_comp | id | data | nome_gara |tipologia_gara | km_gara |tempo_gara|tempo_km_gara| note


    Vorrei estrare per ogni aministrator i relativi tempi migliori per specialità (es. 10 Km, mezza maratona e così via....

    Io avevo pensato a una cosa del genere e ora devo dirti che funziona ma, mi rendo conto, che ci possono essere strade + corrette e semplici... Mi dai una mano.. Eccoti la mia query:

    $query = @mysql_query ("SELECT * FROM competizioni as comp1 JOIN (select id, tipologia_gara, min(tempo_km_gara) AS tempo_km_gara2 FROM competizioni where tipologia_gara='10 km' GROUP BY id) AS comp2 join (SELECT id, nome, cognome, indirizzo_email FROM administrators group by cognome) AS admin1 on comp2.id = admin1.id and comp1.tempo_km_gara = comp2.tempo_km_gara2 and comp2.id = comp1.id and comp1.tipologia_gara = comp2.tipologia_gara order by tempo_km_gara2");

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    ciao

    questo thread è identico all' attuale.. sarebbe meglio che tu portassi avanti quello precedentemente aperto anche con un semplice 'up!'


    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    203
    Non è proprio identico....

  8. #8
    Vabbè se ti funziona meglio così... io senza ER non capisco un cavolo... tiri fuori questo

    SELECT id, nome, cognome, indirizzo_email FROM administrators group by cognome

    che sinceramente mi sembra assurdo: qui tiri fuori tutti gli utenti e quello attivo è uno solo (in genere). Cioè qui admnisitrator sembra essere "atleti"...
    Cristiano
    ---
    Originariamente inviato da rebelia : solo un nerd puo' pensare di tacchinare in un forum di informatica

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    203
    infatti è cosi....

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.