Frage : Verbindung von 3 Tabellen

c.id, g.desc, Datum (c.call_start) vorwählen als date_call, Stunde (c.call_start) als hour_call, concat (Fußboden (avg (1.0*c.duration) /60) , „: “, round (avg (1.0*c.duration) %60)) wie die inneren avg_duration_mm_ss_string
from Anrufe c `t `sich anschließen. `Gatter `g auf c.id=g.id, wo c.call_start > „00:00 2010-07-04: 00“ und c.call_start < „23:59 2010-07-04: 59“ Gruppe durch c.id, g.desc, Datum (c.call_start), Auftrag der Stunde (c.call_start) durch 1.2.3;

Now habe ich auch ein Tabellennamen callsf als CF. Das hat auch call_start. Jetzt ich brauchen zu Zählimpuls von call_start an callf an überprüfen jedes Stunde gegründet auf Identifikation und dann ich müssen tun Zählimpuls (c.call_start)/(count (c.call_start) +count (cf.call_start))alle

I Notwendigkeit das in einem query.

Antwort : Verbindung von 3 Tabellen

Für was Sie erhalten

auserwähltes cf.id, Datum (cf.call_start) als d, Stunde (cf.call_start) als h, gelten (cf.call_start) als count_cf
      von den callsf CF
      wo cf.call_start >= „2010-07-04 00:00: 00“ und cf.call_start <�>      Gruppe durch cf.id, Datum (cf.call_start), Stunde (cf.call_start)

?
Richtet es (durch Identifikation, Datum, Stunde) gegen below aus?

      auserwähltes c.id, Datum (c.call_start) als d, Stunde (c.call_start) als h, gelten (c.call_start) als count_c,
            concat (Fußboden (avg (1.0*c.duration) /60), „: “, rund (avg (1.0*c.duration) %60)) wie avg_duration_mm_ss_string
      von Anrufen c
      wo c.call_start >= „2010-07-04 00:00: 00“ und c.call_start <�>      Gruppe durch c.id, Datum (c.call_start), Stunde (c.call_start)

Der Codekasten sollte nicht unterscheiden (ausgetauschte innere/schließen nach links sich Tabellenauftrag) an, aber gibt ihm einen Versuch irgendwie.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
c.id, g.desc, c.d als date_call, c.h vorwählen als hour_call,
      count_c/NULLIF (count_c + IFNULL (count_cf, 0), 0) als SomePercentage
`t vom `. `Gatter `g
inner verbinden (
      c.id, Datum (c.call_start) vorwählen als d, Stunde (c.call_start) als h, gelten (c.call_start) als count_c,
            concat (Fußboden (avg (1.0*c.duration) /60), „: “, rund (avg (1.0*c.duration) %60)) wie avg_duration_mm_ss_string
      von Anrufen c
      wo c.call_start >= „2010-07-04 00:00: 00“ und c.call_start <>= „00:00 2010-07-04: 00“ und cf.call_start  <>
           
Weitere Lösungen  
 
programming4us programming4us