Pagina 4 di 5 primaprima ... 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 31 a 40 su 47
  1. #31
    PS:
    spero che modificando i nomi delle tabelle e dei campi non abbia stravolto le query originali.
    Penso di no, visto che i risultati sono congruenti coi dati in gioco.

  2. #32
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Cosa intendi con ridondanti ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #33
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Nella mia query si puo' anche togliere il group by e mettere order by corso.
    Ribadisco. Gli id nelle tabelle allievi e docenti non servono a nulla.
    Ultima modifica di badaze; 02-04-2016 a 23:19
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #34
    EDIT
    il forum ha qualche problema con la modifica dei messaggi

    Un po' complicato per una cosa semplice. No ?
    IMHO, la ciccia è costituita dalle le due semplicissime count sulle
    due tabelle sc_corsi_docenti e sc_corsi_allievi; il resto è tutto contorno.


    Quote Originariamente inviata da badaze Visualizza il messaggio


    Di più nel caso in cui ci fosse un corso senza docente ma con un allievo non lo segnala.
    questo sarebbe un difetto a priori

    select c.id_corso, c.descrizione,
    (select count(*) from corsi_docenti d where d.id_corso = c.id_corso) as tot_staff,
    (select count(*) from corsi_allievi a where a.id_corso = c.id_corso) as tot_all
    from corsi c
    group by c.id_corso, c.descrizione
    order by c.id_corso, c.descrizione

    sono abbastanza convinto che come piani di esecuzione non sarebbero poi tanto diversi


    P.S.
    ... togli la group by che non serve
    Ultima modifica di sspintux; 02-04-2016 a 23:43

  5. #35
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    sspintux
    questo sarebbe un difetto a priori
    Appunto. Se la programmazione è stata fatta bene allora sia la tua che la mia daranno lo stesso risultato. Nel mio lavoro mi servo proprio delle query per evidenziare quei diffetti.

    sspintux
    P.S.
    ... togli la group by che non serve
    L'ho segnalato nel mio post precedente.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #36
    Quote Originariamente inviata da badaze Visualizza il messaggio
    L'ho segnalato nel mio post precedente.
    Si, scusami non avevo visto;
    ... sembra abbiano cambiato piattaforma del forum e ci sia qualche problemino.

  7. #37
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Figurati.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #38
    comunque,
    buona la tua ultima sempre ammesso che mysql la interpreti correttamente trasformandola in join;
    ...cosa su cui nutro qualche dubbio.

    Con mySql ho avuto a che fare un paio di anni fa per un programma non banale
    e dopo qualche settimana lo sostituimmo con il fratellastro MariaDb che si dimostrò superiore.

    Ora non so se lo hanno migliorato, ma al tempo di cui ti parlo, una banale select tipo:

    select * from tab1 where id not in (select id from tab2)

    ci metteva un vita ad essere eseguita e bisognava riscriverla
    a manina usando left join per avere tempi di esecuzione accettabili.

  9. #39
    Ciao ed intanto tante grazie per l'impegno che entrambi state mettendo nel risolvere questo mio problema.

    Tolto il GROUP BY dalla query di badaze
    Modificato ORDER BY solo sul campo corso

    Quote Originariamente inviata da badaze Visualizza il messaggio
    Cosa intendi con ridondanti ?
    @badaze
    Per ridondante intendo, forse in maniera inappropriata, troppe informazioni: record inutili (quelli con 0 - 0), record con campi inutili (si verificava nel primo esempio di sspintux.

    Gli id delle due tabelle non servono in questo lavoro che stiamo (state) facendo, ma immagino che mi torneranno utili in altri lavori che ho in progetto per questa applicazione.
    Quindi, se non danno fastidio a questo specifico lavoro li terrei.

    Di più nel caso in cui ci fosse un corso senza docente ma con un allievo non lo segnala.

    E' l'unico caso che non può verificarsi.
    Al momento dell'assegnazione dei corsi, nel modulo insegnanti, vengono mostrati tutti i corsi sostenibili dalla scuola, e magari aggiungerne altri.

    Al momento dell'assegnazione dei corsi agli allievi, vengono mostrati solo i corsi già assegnati agli insegnanti.

    Ho aggiustato la pagina rendendola più leggibile aggiornandola con le ultime due Query.
    http://mikevba.altervista.org/nuovo/...u_due_tabelle/

    Non so se ho dimenticato qualcosa.

  10. #40
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Per la ridondanza...

    codice:
    select c.id_corso, c.descrizione, 
    (select count(*) from corsi_docenti d where d.id_corso = c.id_corso) as tot_staff,
    (select count(*) from corsi_allievi a where a.id_corso = c.id_corso) as tot_all
    from corsi c
    HAVING tot_staff+tot_all > 0
    order by c.descrizione
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.