Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Select group by

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    201

    Select group by

    Ciao a tutti, ho bisogno di una mano.

    Sto crando una sorta di calendario oper la riservazione di 4 uffici
    Ho una tabella mysql con i campi date,utente,sala,ora_ini,ora_fine

    Volevo raggruppare per data e sala le riservazioni.
    Ho fatto:

    $sql = "SELECT * FROM calendario WHERE date >= Now() GROUP BY date,sala ORDER BY date asc LIMIT $start,$step";

    Fatta così non funziona...

    il risulato dovrebbe essere una tabella con la prima riga la data e nelle celle sotto sala, orari e utente.

    Penso manchi qualcosa nella select (?) mi sembra.....

    Ciao e grazie
    teo

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    56

    Re: Select group by

    Originariamente inviato da teo2

    $sql = "SELECT * FROM calendario WHERE date >= Now() GROUP BY date,sala ORDER BY date asc LIMIT $start,$step";

    Fatta così non funziona...

    il risulato dovrebbe essere una tabella con la prima riga la data e nelle celle sotto sala, orari e utente.
    ciao

    1) cosi la select ti dovrebbe restituitre record con solo DATE e SALA come campi
    2) il risultato e' una tabella con 2 colonne DATE e ORA e con il numero di righe in funzione della WHERE e LIMIT, il primo record e' "uguale" al secondo

    G

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    201

    e come faccio allora?

    Grazie per la risposta,

    ma come devo fare allora per eseguire quello che mi interessa?

    Puoi darmi un consiglio....una dritta?

    Grazie
    teo

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    56
    Se sei l'unico ad aggiornare il calendario, probabilmente organizzando il tutto in un foglio elettronico (sando filtri, tabelle pivot etc etc) e salvandolo anche in .html su una directory accessibile via web avresti gia' risolto il problema.

    In ogni caso con un singolo comando SQL (a meno di virtuosismi pazzeschi mai visti tra l'altro nella realta) non puoi avere la prima riga che rappresenta una cosa (un tracciato record) e le successive che ne rappresentano un altra (un altro tracciato record).

    SELECT * FROM calendario WHERE date >= Now() ORDER BY date, sala, orario

    scrivendo codice dovresti eseguire la select sopra e poi, con un loop, leggere i record e formattare l'output a rottura suila SALA.

    enjoy
    G

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    201

    sempre io

    No appunto sono diverse persone che dovrano aggiornare questa tabella quindi è imperativo che sia sul web.

    Io che programmo in access ero convinto che con una query di mysql sipotesse fare un semplicissimo raggruppamento sul campo date e sala....

    vabbè vedrò come fare....

    Grazie
    teo

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    56
    l'interfaccia grafica che usi (credo) con access in realta traduce le cose in enne comandi SQL,
    stai tranquillo che lo standard SQL e' come ti ho detto,
    il fatto che i dati ti siano presentati in modo "diverso" non dipende dal motore db
    ma dai tools di presentazione dei dati stessi

    e, posso chiedere, come fai a caricare e aggiornare i dati sulle tabelle?

    scia!
    G

  7. #7
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    ma eliminare il group by e fare un semplice ORDER BY date, sala ?
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    56
    Originariamente inviato da Habanero
    ma eliminare il group by e fare un semplice ORDER BY date, sala ?
    ti restiruisce tutti i campi tra la SELECT e FROM ordinati per date e sala

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.