Tabellen Verknüpfen

Tabellen Verknüpfen

Beitragvon sdbler » 24.03.2010 11:14

Hi, da isser wieder :shock: :

ich möchte alle Kunden zählen die in einer Endkampagne sind und einzeln auggeführt nach Responsen der letzten History (wenn sie in der Endkampagne liegen ist es ja wohl sowieso die letzte HIS).
Aber ich kann die TS$_HIS und die TS$_CAM nicht verknüpfen, dieses führt dann aber zum falschen Ergebnis.

Code: Alles auswählen
  select distinct --'Welle 1' as "Welle"
         TS$_CUSTOMER.CUST_GROUP as "Welle"
         ,sum (case when (TS$_HISTORY.RES_ID = 1408) then 1 else 0 end) as "S1 WIVO"
         ,sum (case when (TS$_HISTORY.RES_ID = 1409) then 1 else 0 end) as "S1 WIVO Mitbewohner"
         ,sum (case when (TS$_HISTORY.RES_ID = 1410) then 1 else 0 end) as "S1 ZP A n u"
         ,sum (case when (TS$_HISTORY.RES_ID = 1411) then 1 else 0 end) as "S1 ZP z Z n e"
         ,sum (case when (TS$_HISTORY.RES_ID = 1414) then 1 else 0 end) as "S1 Rückruf v"
         ,sum (case when (TS$_HISTORY.RES_ID = 1415) then 1 else 0 end) as "S1 kein Intresse"
         ,sum (case when (TS$_HISTORY.RES_ID = 1416) then 1 else 0 end) as "S1 Ausfall"
         ,sum (case when (TS$_HISTORY.RES_ID = 1412) then 1 else 0 end) as "S1 kein Rückruf"
         ,sum (case when (TS$_HISTORY.RES_ID = 1548) then 1 else 0 end) as "S1 Aktionssperre"
         ,sum (case when (TS$_HISTORY.RES_ID = 1549) then 1 else 0 end) as "S1 Sperre w Ah"
         ,sum (case when (TS$_HISTORY.RES_ID = 1417) then 1 else 0 end) as "S1 Bestellung"
         ,sum (case when (TS$_HISTORY.RES_ID = 1420) then 1 else 0 end) as "S2 WIVO"
         ,sum (case when (TS$_HISTORY.RES_ID = 1421) then 1 else 0 end) as "S2 WIVO Mitbewohner"
         ,sum (case when (TS$_HISTORY.RES_ID = 1422) then 1 else 0 end) as "S2 Bestellung n z H"
         ,sum (case when (TS$_HISTORY.RES_ID = 1423) then 1 else 0 end) as "S2 Rückruf"
         ,sum (case when (TS$_HISTORY.RES_ID = 1424) then 1 else 0 end) as "S2 kein Intresse"
         ,sum (case when (TS$_HISTORY.RES_ID = 1425) then 1 else 0 end) as "S2 KC Besteller"
         ,sum (case when (TS$_HISTORY.RES_ID = 1426) then 1 else 0 end) as "S2 Ausfall"
         ,sum (case when (TS$_HISTORY.RES_ID = 1428) then 1 else 0 end) as "S2 kein Rückruf"
         ,sum (case when (TS$_HISTORY.RES_ID = 1550) then 1 else 0 end) as "S2 Aktionssperre"
         ,sum (case when (TS$_HISTORY.RES_ID = 1551) then 1 else 0 end) as "S2 Sperre w Ah"
         ,sum (case when (TS$_HISTORY.RES_ID = 1427) then 1 else 0 end) as "S2 Bestellung"

         
         
  from TS$_HISTORY
  , TS$_CUSTOMER
  , (select
           max(TS$_HISTORY.HIS_ID) as MAX_HIS_ID
           ,MAN_ID as MAN_ID
           ,CUST_ID as CUST_ID
           ,'1' as aktuell
           from TS$_HISTORY
           ,TS$_CAMPAIN
           where 1=1
           and TS$_HISTORY.MAN_ID = 545
           and TS$_CAMPAIN.CAM_ID = 1320
           group by
           TS$_HISTORY.MAN_ID
           ,TS$_HISTORY.CUST_ID
           )
           MAX_HIS
    , TS$_CAMPAIN

  where TS$_HISTORY.MAN_ID = 545
    and TS$_CAMPAIN.CAM_ID = 1320
  and TS$_CUSTOMER.CUST_GROUP = '75149_1'
  and TS$_HISTORY.MAN_ID = TS$_CUSTOMER.MAN_ID (+)
  and TS$_HISTORY.CUST_ID = TS$_CUSTOMER.CUST_ID (+)
  and TS$_HISTORY.MAN_ID = MAX_HIS.MAN_ID (+)
  and TS$_HISTORY.CUST_ID = MAX_HIS.CUST_ID (+)
  and trunc(TS$_HISTORY.HIS_START) between '[F1]' and '[F2]'

 
group by TS$_CUSTOMER.CUST_GROUP


ihr habt doch bestimmt was auf Lager, wie man das rausbekommt

Viele Grüße Stefan
sdbler
 
Beiträge: 60
Registriert: 02.04.2007 08:04
Wohnort: Kröslin / MV

Re: Tabellen Verknüpfen

Beitragvon till.piantek » 25.03.2010 09:08

Hallo,

Sie möchten alle Kunden aus einer Endkampagne?
Dann ist es Zwingend notwendig, die Tabelle TS$_PROJECT_CUSTOMER mit in die Abfrage zu übernehmen.
Diese Tabelle enthält alle Kunden - Kampagnenzuordnungen, d.h. welcher Kunde ist in welchem Projekt in welcher Kampagne.
-->
(SELECT MAN_ID,CUST_ID FROM TS$_PROJECT_CUSTOMER WHERE MAN_ID = xxx AND PROJ_ID = XXX AND CAM_ID = XXX)

Diese dann als übergeordnete Abfrage mit allen weiteren Tabellen verknüpfen.(MAN_ID,CUST_ID)

Mit der von Ihnen geschriebenen Abfrage bekommen Sie alle Historien aus der Kampagne 1320. Ist das die Endkampagne?
Man beachte, dass Historien nicht in der Endkampagne erstellt werden. Kunden landen anhand von Kontaktergebnissen in der entsprechenden Endkampagne. Die Historie enthält die Cam_id in der der Kunde seinen Abschlussgrund erhalten hat(Outbound etc).
Vielleicht kommen Sie mit diesen Infos weiter.

MFG
Till Piantek
Mit freundlichen Grüssen

Till Piantek
MYCOM AG
till.piantek
 
Beiträge: 10
Registriert: 07.06.2007 13:47
Wohnort: Cottbus

Re: Tabellen Verknüpfen

Beitragvon sdbler » 30.03.2010 08:31

Ja das wars, danke :)
sdbler
 
Beiträge: 60
Registriert: 02.04.2007 08:04
Wohnort: Kröslin / MV


Zurück zu SQL und PL/SQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron