Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 31
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371

    Query complessa Raggruppata per GG e solo YES

    Salve a tutti ho questa query che potete vedere qui in funzione https://www.db-fiddle.com/f/j6CXXGC3WyYZrNJxi9aizo/2
    codice:
       SELECT nome, WEEKDAY(calendar.start) as ggW,
            CASE WHEN tb_odl.id='44' THEN            
               "yes"
           ELSE   
             "no"         
           END as rep, 
           CASE WHEN tb_odl.id='64' THEN
                "yes"         
           ELSE            
               "no"         
           END as temp,
            CASE WHEN tb_odl.Icona='far fa-moon' THEN
                "yes"         
           ELSE        
               "no"
           END as notte            
       FROM calendar        
       INNER JOIN tb_odl ON calendar.id_odl = tb_odl.id        
       INNER JOIN tb_user ON calendar.id_user = tb_user.id        
       GROUP BY nome,ggW,rep,temp,notte
    Considerate che per ogni giorno ed ogni nome (ggW) vorrei avere solo 1 record
    ma le colonne (rep, temp, e notte) se ad esempio ho come in questo caso
    nome ggW rep temp notte
    Mike 0 no yes no
    Mike 0 yes no no
    io vorrei ottenere questo


    nome ggW rep temp notte
    Mike 0 yes yes no
    ossia se c'è un yes devo avere yes nella colonna solo se tutti no dovrei avere no nella colonna.

    Spero di essermi spiegato e che possate darmi una mano

  2. #2
    codice:
    SELECT nome, ggw, sum(rep), sum(temp), sum(notte) FROM (     SELECT nome, WEEKDAY(calendar.start) as ggW,
            CASE WHEN tb_odl.id='44' THEN
                1 
            ELSE
                0 
            END as rep,
            CASE WHEN tb_odl.id='64' THEN
                1 
            ELSE
                0 
            END as temp,
            CASE WHEN tb_odl.Icona='far fa-moon' THEN
                1 
            ELSE
              	0 
        	END as notte    
            FROM calendar
            INNER JOIN tb_odl
            ON calendar.id_odl = tb_odl.id
            INNER JOIN tb_user
            ON calendar.id_user = tb_user.id
            GROUP BY nome,ggW,rep,temp,notte
            ) X 
            GROUP BY nome, ggw

  3. #3
    0=NO, 1=YES
    come nella migliore tradizione binaria

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Quote Originariamente inviata da optime Visualizza il messaggio
    0=NO, 1=YES
    come nella migliore tradizione binaria
    GRANDIOSO OPTIME, l'idea di sommarli non c'ero proprio arrivato, sar� che oggi sto un p� stordito ,
    MA OPTIMA IDEA...
    THANKS

    Ho sistemato il tutto adesso non voglio approfittare,
    ma mi aiuti ad unire le 2 query a parit� di nome e ggW,
    ossia in finale dovrei avere 4 colonne, [nome,ggW,opt,eventi]
    poi dopo di che dovrei in base al valore ggW concatenare ulteriormete per giorni
    0=Lunedi
    1=Martedi .....
    Il risultato finale di esempio che mi occorre � il seguente.
    Qui link aggiornato delle 2 query https://www.db-fiddle.com/f/j6CXXGC3WyYZrNJxi9aizo/5


    codice:
    var data = [      { 
               Resource: 'Mike4',
                Lunedi: [{
                     opt:[{rep: "yes",temp: "yes",notte:"yes"}],
                     event:[{Note: "Note1",Title: "Title2"},{Note: "Note1",Title: "Title2_1"},{Note: "Note1",Title: "Title2_2"}]
                     }],
              Martedi: [{
                     opt:[{rep: "yes",temp: "yes",notte:"yes"}],
                     event:[{Note: "Note2",Title: "Title2"}]       
                               }],
              Mercoledi: [{
                     opt:[{rep: "yes",temp: "no",notte:"yes"}],
                     event:[{Note: "Note3",Title: "Title3"}]      
                   }],  
              Giovedi: [{
                     opt:[{rep: "yes",temp: "yes",notte:"yes"}],
                     event:[{Note: "Note4",Title: "Title4"}]
                    }],        
              Venerdi: [{
                     opt:[{rep: "yes",temp: "yes",notte:"no"}],
                     event:[{Note: "Note5",Title: "Title5"}]
                    }],       
              Sabato: [{
                     opt:[{rep: "yes",temp: "yes",notte:"yes"}],
                     event:[{Note: "Note6",Title: "Title6"}]
                    }],                        
              Domenica: [{
                     opt:[{rep: "yes",temp: "yes",notte:"yes"}],
                     event:[{Note: "Note7",Title: "Title7"}]                  
                    }]  
            },

    Grazie in anticipo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Unione fatta
    https://www.db-fiddle.com/f/j6CXXGC3WyYZrNJxi9aizo/10

    Ci siamo quasi, manca raggruppare tutto per nome "GROUP BY nome" e portare tutto su unico record con lunedi, martedi etc.... ove ci siano valori.
    Ultima modifica di max1974; 31-05-2021 a 17:29

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Quote Originariamente inviata da optime Visualizza il messaggio
    optime!
    Dovrebbe essere OK!!! come lo valuti ???
    https://www.db-fiddle.com/f/j6CXXGC3WyYZrNJxi9aizo/11


    Grazie dell'aiuto

  8. #8
    perché i nomi di colonna in uscita sono duplicati?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Quote Originariamente inviata da optime Visualizza il messaggio
    perché i nomi di colonna in uscita sono duplicati?
    Nomi di colonna Quali???
    Scusa spiegami meglio.

  10. #10
    ma non hai fatto girare la query che hai scritto?

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.