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

    trovare, giorno per giorno il numero di rapportini che mancano

    Salve a tutti..

    ho un DB cosi strutturato:

    Codice PHP:
    mysqldescribe dipendenti;
    +---------------+----------------------+------+-----+------------+----------------+
    Field         Type                 Null Key | Default    | Extra          |
    +---------------+----------------------+------+-----+------------+----------------+
    matricola     smallint(5unsigned YES  MUL NULL       |                |
    codfiscale    varchar(16)          |      |     |            |                |
    nome          varchar(50)          |      |     |            |                |
    cognome       varchar(50)          |      |     |            |                |
    email         varchar(50)          | YES  |     | NULL       |                |
    indirizzo     varchar(50)          | YES  |     | NULL       |                |
    citta         varchar(50)          | YES  |     | NULL       |                |
    cap           varchar(5)           | YES  |     | NULL       |                |
    telefono      varchar(15)          | YES  |     | NULL       |                |
    cell          varchar(15)          | YES  |     | NULL       |                |
    datanascita   date                 YES  |     | NULL       |                |
    assunzione    date                 YES  |     | NULL       |                |
    licenziamento date                 YES  |     | NULL       |                |
    note          text                 YES  |     | NULL       |                |
    id_dip        int(10unsigned     |      | PRI NULL       auto_increment |
    data_check    date                 |      |     | 0000-00-00 |                |
    +---------------+----------------------+------+-----+------------+----------------+ 
    Codice PHP:
    mysqldescribe rapporti_commesse;
    +-------------+------------------+------+-----+------------+----------------+
    Field       Type             Null Key | Default    | Extra          |
    +-------------+------------------+------+-----+------------+----------------+
    id_rapporto int(10unsigned |      | PRI NULL       auto_increment |
    commessa    int(10unsigned |      | MUL 0          |                |
    data        date             |      |     | 0000-00-00 |                |
    descrizione varchar(255)     |      |     |            |                |
    maut        float(4,2)       | YES  |     | 0.00       |                |
    carp        float(4,2)       | YES  |     | 0.00       |                |
    dipendente  int(10unsigned |      | MUL 0          |                |
    ufficio     float(4,2)       | YES  |     | 0.00       |                |
    +-------------+------------------+------+-----+------------+----------------+ 
    Codice PHP:
    mysqldescribe commesse;
    +---------------+----------------------+------+-----+------------+----------------+
    Field         Type                 Null Key | Default    | Extra          |
    +---------------+----------------------+------+-----+------------+----------------+
    id_commessa   int(10unsigned     |      | PRI NULL       auto_increment |
    codice        varchar(16)          |      | UNI |            |                |
    descrizione   text                 |      |     |            |                |
    data          date                 |      |     | 0000-00-00 |                |
    committente   smallint(5unsigned |      | MUL 0          |                |
    maut_prev     float(6,2)           | YES  |     | NULL       |                |
    carp_prev     float(6,2)           | YES  |     | NULL       |                |
    cant_prev     float(6,2)           | YES  |     | NULL       |                |
    stato         tinyint(3unsigned  |      | MUL 3          |                |
    data_consegna date                 YES  |     | NULL       |                |
    +---------------+----------------------+------+-----+------------+----------------+ 
    dove nella tabella rapporti_commesse giorno per giorno inserisco tutti i rapportini che ogni dipendente mi consegna a fine giornata.

    e devo risolvere questo problema...
    mi serve una query che mi trovi giorno per giorno il numero di rapportini che mi mancano da inserire (se ad esempio un dipendente si scorda di consegnarmelo)

    praticamente una cosa tipo:
    Codice PHP:
    Data      Mancanti      Visualizza il riepilogo
    Martedì
    03/06/2008     3     Rapportini mancanti del 03/06/2008
    Mercoledì
    04/06/2008     7     Rapportini mancanti del 04/06/2008
    Giovedì
    05/06/2008     6     Rapportini mancanti del 05/06/2008
    Venerdì
    06/06/2008     8     Rapportini mancanti del 06/06/2008
    Lunedì
    09/06/2008     7     Rapportini mancanti del 09/06/2008
    Martedì
    10/06/2008     4     Rapportini mancanti del 10/06/2008
    Mercoledì
    11/06/2008     5     Rapportini mancanti del 11/06/2008
    Giovedì
    12/06/2008     5     Rapportini mancanti del 12/06/2008
    Venerdì
    13/06/2008     4     Rapportini mancanti del 13/06/2008
    Lunedì
    16/06/2008     11     Rapportini mancanti del 16/06/2008 
    ho parzialmente risolto in questo modo:
    Codice PHP:
    select distinct data,
        
    count(distinct dipendente) as rapp_inseriti,
        
    count(distinct id_dip) as numdipendenti,
        
    count(distinct id_dip)-count(distinct dipendente) as differenza
        from rapporti_commesse
    ,dipendenti
        where id_dip
    <>'40' and id_dip<>'22' and id_dip<>'41' and dipendente<>'22' and dipendente<>'40' and dipendente<>'41'
        
    group by data 
        having differenza
    >
    ma ho il problema che ogni volta che inserisco un nuovo dipendente mi aumenta il numero di rapportini mancanti in tutti i giorni precedenti! In pratica mi servirebbe una query che tiene conto delle date di inizio lavoro di ogni dipendente (avevo pensato ad inserire un campo check_data dove fare data>check_data ma non trovo una soluzione!)

    grazie a tutti!!

  2. #2

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.