Hallo Freunde,
Ich habe eine MS-SQL Aufgabe zu lösen, vielleicht könnt ihr mir dabei helfen, es geht darum einen SELECT auszuführen, das Ergebnis daraus soll dann wieder eine Abfrage auf die gleiche Table machen usw. - Nun mache ich für mein "Endergebnis" momentan mehrere Abfragen und wollte mal sehen wer von euch hier eine "einfachere, klarere, schnellere" Lösung hat, denn die gibt es Zweifelsohne ....
DB-SCHEMA:
Tablename jobs
AccountID | JobID | SuccessCt | JobStartDt | Resolution | SenderCSID | PageCt | RecipientCt | UserField2 | FailureCt |JobStartDt | JobCompleteDate
x7-99-991 | 12345| 555 | 21.02.2012 | low | Some Text | 2 | 1114 | 1502 | 99 | 2012-01-01| 2012-01-01
x7-99-991 | 99981| 655 | 21.02.2012 | low | Some Text | 1 | 1114 | 1502 | 99 | 2012-01-04| 2012-01-04
x7-99-999 | 54321| 2585 | 21.02.2012 | low | Some Text | 2 | 1114 | 1577 | 99 | 2012-01-21| 2012-01-21
x7-99-999 | 44452| 5591 | 21.02.2012 | low | Some Text | 4 | 1114 | 1577 | 99 | 2012-01-21| 2012-01-21
x7-99-998 | 25252| 5155 | 21.02.2012 | low | Some Text | 2 | 1114 | 1974 | 99 | 2012-01-10| 2012-01-10
So, so weit so schlimm - Ich mache momentan folgende Abfragen:
Hier erhalte ich dann die JobID für diese Kundennummer und diesen Zeitraum. Diese Daten speichere ich in ein Array:
Die nächste Abfrage lautet:
wobei $value["0"] von kommt.
Aus dieser Abfrage erhalte ich die Einzeldaten für das jeweilige UserField2 - und die werden wieder in ein Array gepusht:
Alles anzeigen
Nun habe ich folgendes erreicht:
1. Ziehe mir alle JobID's zu einer Kundennummer innerhalb einer definierten Zeit.
2. Suche mir alle JobID's aus Abfrage 1 zusammen welche das gleiche UserField2 haben und speichere mir diese JobID's in ein Array welches als KEY das UserField2 hat.
3. Bastel aus Abfrage zwei ein array zusammen das summiert aus UserField2 die Werte für jobID,subject,pageCt,RecipientCt,pagesPerJob,successCt,SenderCSID,FSID,jobstart beinhaltet.
was ich im Endeffekt benötige ist eben in einem Array zusammengefasst:
jobID,subject,pageCt,RecipientCt,pagesPerJob,successCt,SenderCSID,FSID,jobstart die zum gleichen UserField2 gehören....
(Wow, das beschreiben ist ehrlich schwer, hoffe man versteht es) ....
Gruß,
Matze
Ich habe eine MS-SQL Aufgabe zu lösen, vielleicht könnt ihr mir dabei helfen, es geht darum einen SELECT auszuführen, das Ergebnis daraus soll dann wieder eine Abfrage auf die gleiche Table machen usw. - Nun mache ich für mein "Endergebnis" momentan mehrere Abfragen und wollte mal sehen wer von euch hier eine "einfachere, klarere, schnellere" Lösung hat, denn die gibt es Zweifelsohne ....
DB-SCHEMA:
Tablename jobs
AccountID | JobID | SuccessCt | JobStartDt | Resolution | SenderCSID | PageCt | RecipientCt | UserField2 | FailureCt |JobStartDt | JobCompleteDate
x7-99-991 | 12345| 555 | 21.02.2012 | low | Some Text | 2 | 1114 | 1502 | 99 | 2012-01-01| 2012-01-01
x7-99-991 | 99981| 655 | 21.02.2012 | low | Some Text | 1 | 1114 | 1502 | 99 | 2012-01-04| 2012-01-04
x7-99-999 | 54321| 2585 | 21.02.2012 | low | Some Text | 2 | 1114 | 1577 | 99 | 2012-01-21| 2012-01-21
x7-99-999 | 44452| 5591 | 21.02.2012 | low | Some Text | 4 | 1114 | 1577 | 99 | 2012-01-21| 2012-01-21
x7-99-998 | 25252| 5155 | 21.02.2012 | low | Some Text | 2 | 1114 | 1974 | 99 | 2012-01-10| 2012-01-10
So, so weit so schlimm - Ich mache momentan folgende Abfragen:
Hier erhalte ich dann die JobID für diese Kundennummer und diesen Zeitraum. Diese Daten speichere ich in ein Array:
Die nächste Abfrage lautet:
wobei $value["0"] von kommt.
Aus dieser Abfrage erhalte ich die Einzeldaten für das jeweilige UserField2 - und die werden wieder in ein Array gepusht:
Quellcode
- $succCounter = mssql_fetch_assoc($query);
- echo $succCounter["successTotal"];
- $FSID = $key;
- $csid = $arg["SenderCSID"];
- $subject = utf8_decode($arg["SenderCSID"]);
- $PageCt = $arg["PageCt"];
- $RecipientCt = $arg["RecipientCt"];
- $pagesPerJob = $succCounter["successTotal"] * $arg["PageCt"];
- $jobstart = substr($arg["JobStartDt"],0,11);
- $jobIDs = implode(",", $value);
- array_push($jobArr,array("jobID" => $jobIDs,"subject" => $subject,"pageCt" => $PageCt,"RecipientCt" => $RecipientCt,"pagesPerJob" => $pagesPerJob,"successCt" => $succCounter['successTotal'],"SenderCSID" => $csid,"FSID" => $FSID,"jobstart" => $jobstart));
Nun habe ich folgendes erreicht:
1. Ziehe mir alle JobID's zu einer Kundennummer innerhalb einer definierten Zeit.
2. Suche mir alle JobID's aus Abfrage 1 zusammen welche das gleiche UserField2 haben und speichere mir diese JobID's in ein Array welches als KEY das UserField2 hat.
3. Bastel aus Abfrage zwei ein array zusammen das summiert aus UserField2 die Werte für jobID,subject,pageCt,RecipientCt,pagesPerJob,successCt,SenderCSID,FSID,jobstart beinhaltet.
was ich im Endeffekt benötige ist eben in einem Array zusammengefasst:
jobID,subject,pageCt,RecipientCt,pagesPerJob,successCt,SenderCSID,FSID,jobstart die zum gleichen UserField2 gehören....
(Wow, das beschreiben ist ehrlich schwer, hoffe man versteht es) ....
Gruß,
Matze
Das Leben ist binär - du bist eine 1, oder eine 0