Questione : Aggiunta delle 3 tabelle

selezionare c.id, g.desc, la data (c.call_start) come date_call, l'ora (c.call_start) come hour_call, il del concat (pavimento (avg (1.0*c.duration) /60), “: „, round (%60 del avg (1.0*c.duration))) come le chiamate c del avg_duration_mm_ss_string
from interne uniscono il `del `t. `g del cancello del `su c.id=g.id dove c.call_start > “00:00 2010-07-04: 00„ e c.call_start < “23:59 2010-07-04: 59„ gruppi da c.id, g.desc, data (c.call_start), ordine di ora (c.call_start) da 1.2.3;

Now inoltre ho un callsf di nomi della tabella come Cf. Quello inoltre ha call_start. Ora io hanno bisogno di per controllare conteggio di call_start a callf a ogni ora basato su identificazione ed allora io devono fare conteggio)/((di c.call_start count (c.call_start) +count (cf.call_start))bisogno del

I tutto quello in un query.
class= > " libero " del

Risposta : Aggiunta delle 3 tabelle

Che cosa ottenete per

cf.id prescelto, data (cf.call_start) come d, ora (cf.call_start) come h, conteggio (cf.call_start) come count_cf
      dai Cf del callsf
      dove 00:00 del >= “2010-07-04 di cf.call_start: 00„ e gruppo <�>      da cf.id, data (cf.call_start), ora (cf.call_start) di cf.call_start

?
Allinea (tramite l'identificazione, data, ora) contro il sotto?

      c.id prescelto, data (c.call_start) come d, ora (c.call_start) come h, conteggio (c.call_start) come count_c,
            concat (pavimento (avg (1.0*c.duration) /60), “: „, rotondo (avg (1.0*c.duration) %60)) come avg_duration_mm_ss_string
      dalle chiamate c
      dove 00:00 del >= “2010-07-04 di c.call_start: 00„ e gruppo <�>      da c.id, data (c.call_start), ora (c.call_start) di c.call_start

La scatola di codice non dovrebbe fare una differenza (interni scambiati/a sinistra uniscono l'ordine della tabella), ma gli dà una prova comunque.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
selezionare c.id, g.desc, c.d come date_call, c.h come hour_call,
      count_c/NULLIF (count_c + IFNULL (count_cf, 0), 0) come SomePercentage
dal `del `t. `g del cancello del `
interno unir (
      selezionare c.id, la data (c.call_start) come d, l'ora (c.call_start) come h, il conteggio (c.call_start) come count_c,
            concat (pavimento (avg (1.0*c.duration) /60), “: „, rotondo (avg (1.0*c.duration) %60)) come avg_duration_mm_ss_string
      dalle chiamate c
      dove 00:00 del >= “2010-07-04 di c.call_start: 00„ e c.call_start <>= “00:00 2010-07-04: 00„ e cf.call_start  <>
           
Altre soluzioni  
 
programming4us programming4us