sommy Skrevet 11. mai 2009 Del Skrevet 11. mai 2009 trenger litt hjelp her vist noen har mulig het til og se på dette. har to tabeler som heter Bruker1 og Bruker2 begge tabellene inneholder Dato datetime [Nye tildelte] int [Allerede tildelte] int det eg prøver og få til er at det skal vise Bruker1 = saker løst Bruker2 = saker løst saker løst er denne utregningen. saker løst = [Allerede tildelte] + [Nye tildelte] - "[Allerede tildelte] neste Dato" Lenke til kommentar
blackbrrd Skrevet 11. mai 2009 Del Skrevet 11. mai 2009 Ser ikke helt poenget med å ha to tabeller? Hva er neste dato? Nye tildelte og Allerede tildelte - er dette antall? Lenke til kommentar
sommy Skrevet 11. mai 2009 Forfatter Del Skrevet 11. mai 2009 Ser ikke helt poenget med å ha to tabeller? Hva er neste dato? Nye tildelte og Allerede tildelte - er dette antall? vi skal sette opp en database med over 30 brukere, her i dette eksempellet laget eg to bruker1 og bruker2 bare for og forenkle det, poenget er at det skal logges hvor mye saker kver enkel bruker løser pr dag. ser ingen løsning på og plasserer det inn i en tabell? prøvt og tenke rundt det, men klarer ikke komme med en løsning på dette. det skal kontnuerlig leveres ut saker til brukerene, så [Nye tildelte] vil vere en variabel verdi utover dagen, starter på 0 og ender på et nummer alt etter hvor mange saker denne bruker har fått utlevert. [Allerede tildelte] er en statisk verdi den vil vere lik hele dagen og dette tallet er så mange saker en bruker hadde på seg når han gikk hjem dagen før. et kort eksempel vil se noe slik som her ut. mandag starter bruker1 med 0 saker, utover dagen vokser [Nye tildelte] la oss si den ender på 30stk. Bruker1 løste 20 av disse, så morgenen etter vil [Allerede tildelte] vere 10 så 30 - 10 = 20 det er 20 eg er ute etter her, dette er en verdi som ikke ligger i databasen men som kan regnes ut på grun av i databasen ligger [Nye tildelte] og [Allerede tildelte] verdiene på dato vist du har la oss si logget i et år [Nye tildelte] og [Allerede tildelte] i databasen er det en mulighet og lage en query som gir tilbake dette reultatet sotert etter dato. Lenke til kommentar
___ Skrevet 12. mai 2009 Del Skrevet 12. mai 2009 Du får spørre de gamle Sumererne, men de har jo vært utdødd en stund nå. Werner Lenke til kommentar
blackbrrd Skrevet 12. mai 2009 Del Skrevet 12. mai 2009 Wernie: Det svaret der kunne du godt holdt for deg selv Wernie. Han har stillt et relevant spørsmål i riktig kategori. Til trådstarter: Du trenger ikke 30 forskjellige tabeller for 30 brukere. Du trenger en tabell for brukerene og en tabell med oppgavene. CREATE TABLE bruker ( brukerid serial primary key, fornavn text, etternavn text ); CREATE TABLE oppgave ( oppgaveid serial primary key, id_brukerid integer REFERENCES bruker, antall_tildelte integer, antall_løst integer, dato date ); (Syntaxen er skrevet for postgresql) Hvis du skal hente ut antallet saker brukerene har løst på en dato kan du skrive: SELECT fornavn, etternavn, antall_løst FROM oppgave INNER JOIN bruker ON id_brukerid = brukerid WHERE dato = '01.01.2009' Hvis du skal finne hvor stor backloggen er så kan du skrive: SELECT fornavn, etternavn, SUM(antall_tildelte+antall_løst) FROM oppgave INNER JOIN bruker ON id_brukerid = brukerid GROUP BY fornavn, etternavn Det er forresten anbefalt at du tar å leser en grunnleggende bok/tutorial e.l. om databaser, for du var laaaangt ute på bærtur her. Lenke til kommentar
___ Skrevet 12. mai 2009 Del Skrevet 12. mai 2009 (endret) Wernie:Det svaret der kunne du godt holdt for deg selv Wernie. Han har stillt et relevant spørsmål i riktig kategori. Det var da slett ikke vondt ment. Falt bare for fristelsen til å komme med en dårlig vits. Men hvis du/han ikke forstod den så beklager jeg. Werner Endret 12. mai 2009 av wernie Lenke til kommentar
sommy Skrevet 12. mai 2009 Forfatter Del Skrevet 12. mai 2009 Takk blackbrrd, det løste en del av problemene eg har prøvdt og tenke rundt når det kommer til hvordan en database bør bygges opp, eg holder på med turtorials men trengte en push for og forstå hvofor det bør gjøres på denne måten, og nå ser eg det mye klarere etter din forklaring. på denne måten har eg nå en mye bedre oversikt over antall saker i forholdt til dato. men antall_løst er en varialbel som ikke blir satt før dagen etter en gitt dato, dette er for at den personen som updater databasen skal slippe og regen ut manuelt denne sum ved dags slutt. har nå satt det opp slik som her. oppgaveid, id_brukerid, antall_tildelte, allerede_tildelte, dato 1 1 12 13 04.05.2009 2 2 12 20 04.05.2009 3 1 32 10 05.05.2009 4 2 2 2 05.05.2009 5 1 3 5 05.06.2009 6 2 3 5 05.06.2009 NULL NULL NULL NULL NULL regner med eg må bruke kansje to queryes for og oppnå resultatet eg er ute etter, databasen skal bakes in i en C# Dispatcher Applikasjon vi programere på. og det er er ute etter er og lage en statestik visning per uke, per måned på totalt antall saker løst per bruker. det tallet eg er ute etter = antall_løst og dette tallet er (antall_tildelte + allerede_tildelte) - "allerede_tildelte neste dato på samme id_brukerid" så i dette tilfellet ville det blitt. (12 + 13) - 10 = 15 Antall løst = 15 for og løse dette tenkte eg på denne løsningen ta ut to querys, en med totalt pr bruker, og en med kun allerede_tildelte pr bruker pr dato, men hvordan eg skal løse dette rent praktisk er eg usikker på.. noen som har et forslag? Lenke til kommentar
blackbrrd Skrevet 12. mai 2009 Del Skrevet 12. mai 2009 Det går an å skrive SELECT inni SELECT-er, f.eks: SELECT *, (SELECT kolonne FROM tabell WHERE test.id = tabell.id) FROM test Antall løste saker burde du bare ha som et tall i tabellen, skjønner ikke hvorfor dette er et tall som du skal regne deg fram til? Wernie:Det svaret der kunne du godt holdt for deg selv Wernie. Han har stillt et relevant spørsmål i riktig kategori. Det var da slett ikke vondt ment. Falt bare for fristelsen til å komme med en dårlig vits. Men hvis du/han ikke forstod den så beklager jeg. Werner Greit nok, men når du hadde det moro på hans bekostning kunne du jo også svart på det lettere difuse spørsmålet hans. Lenke til kommentar
sommy Skrevet 13. mai 2009 Forfatter Del Skrevet 13. mai 2009 Det er på grunn av slik C# Dispacher Applicationen som skriver til databasen er bygget opp i windows formet, og vi vil ungå at det blir en manuel jobb og regne ut hvær kveld på 30 brukere hva antall løste saker er. Det er for og forenkle arbeidsopgavene. For og se hvorfor dette gjøres, må du se på hvordan teamet jobber. 1 dispacher som har ansvaret for og levere ut saker til rette vedkomende, og 30 saksbehandlere som har ansvart for og løse saker. Kver saksbehandler vil til enhvær tid ha mellom 1 til 20 saker i sin inbox som skal løses. Når Saksbehandler går for dagen har han fortsatt saker stående på seg i sin inbox så her kommer allerede_tildelte inn i bildet. Toolet er bygget opp slik. Kun to Celler per bruker. Celle 1 = nye_tildelte hun trykker på en knapp ved siden av cellen som har code private void button1_Click(object sender, EventArgs e) { decimal sum = decimal.Parse(textBox1.Text) + new decimal(1); textBox1.Text = sum.ToString(); } Celle 2 = allerede_tildelte blir manuelt updatert kver morgen av Dispatcher, hvorfor kver morgen? jo for noen brukere jobber utover kvelden, og ingen brukere blir noen gang tomme for saker i Innboxen sin. Dispacher slår opp brukern ser hvor mange saker han har på seg ved morgen start og plasserer dette inn i textBox2 som blir lagret til allerede_tildelte i databasen ved dags slutt. ved dags slutt skrives Data Dispacher applicationen har samlet opp til Database der ny linjer me data per bruker og dato blir skrevet. så her har du problemet Antall_løst har aldri blitt registrert av Dispacher applicationen kun max saker en bruker har hatt på seg i løp av dagen, så antall_løst vet du ikke før dagen etterpå når dispacher går igjenom alle brukerene og ser hvor mange saker di har på seg. Lenke til kommentar
blackbrrd Skrevet 13. mai 2009 Del Skrevet 13. mai 2009 Hvor har du lagret hver sak? Lenke til kommentar
sommy Skrevet 13. mai 2009 Forfatter Del Skrevet 13. mai 2009 Hvor har du lagret hver sak? sakene blir lagret og dispacet ut fra en web applicasjon programert og velikeholdt av en 3 part, så vi har ingen mulighet for og få inn mer funksjonalitet der. Lenke til kommentar
blackbrrd Skrevet 13. mai 2009 Del Skrevet 13. mai 2009 Såvidt jeg har forstått så skal du kun lagre antall uløste oppdrag, og antall oppdrag løst pr dag pr bruker? Lenke til kommentar
sommy Skrevet 13. mai 2009 Forfatter Del Skrevet 13. mai 2009 Såvidt jeg har forstått så skal du kun lagre antall uløste oppdrag, og antall oppdrag løst pr dag pr bruker? ja antall løste saker er målet, vil ha en query som gjør at eg kan dumpe antall løste saker pr bruker pr dato ned i en variable slik at eg kan bruke dette i en grafisk statestik visning. Tenkte og programere et window form som viser i curver og tall antal saker løst pr bruker feks for januar o.l. men ettersom dette er første gang eg jobber med databaser trenger eg litt tenke hjelp. og har fått mye allerede kommet et bra stykke på vei. planen nå er og lage 2 queryes en for og hente antall saker en bruker har hatt pr dag så query1 blir::: nye_tildelte + allerede_tildelte mellom 01.01.09 -31.01.09 query2 blir::: allerede tildelte mellom 02.01.09-01.02.09 da vil eg få ut 31 verdier på query1 og 31 verdier på query2 så setter eg disse to araysa opp mot kverander Q1 - Q2 = Antall_Løst da har eg 31 verdier me Antall_løst for januar måned som eg kan bruke i en grafisk fremstilling. Lenke til kommentar
blackbrrd Skrevet 13. mai 2009 Del Skrevet 13. mai 2009 Dette hørtes klønete ut Lagre antall uløste saker i bruker tabellen og antall løste saker i oppgave tabellen (pr dato og pr bruker). Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå