Avatar billede Syska Mester
13. april 2008 - 19:55 Der er 7 kommentarer og
2 løsninger

Table over ændringer

Hej,

Jeg søger en smart måde at lave et skema over ændringer i point, for de Navne. Det er ikke altid sikkert at der findes data fra start til slut, men der er ingen huller .... Dvs
Startdato: 2008-04-10
Slutdato: 2008-04-12

Kan det godt ske at start dato'en måske mangler ...

Navn, Point, ID, Dato ( sample data )
wannabe ss    119    120274    2008-04-10 00:00:00
wannabe ss    157    120274    2008-04-11 00:00:00
wannabe ss    191    120274    2008-04-12 00:00:00
wannabe aa    98    119536    2008-04-10 00:00:00
wannabe aa    121    119536    2008-04-11 00:00:00
wannabe aa    143    119536    2008-04-12 00:00:00

Jeg havde tænkte på et system ala:

Navn: Point, Point, Point, Point med en overstående dato over Point ... og så ellers så mange gange der er et nyt navn ....

Unikt navn: Point, Point, Point, Point
Unikt navn: Point, Point, Point, Point
Unikt navn: Point, Point, Point, Point
Unikt navn: Point, Point, Point, Point

Hvis muligt, må den også gerne regne forskellen ud, altså om personen har fået flere eller mindre point siden dagen før ...

Hvis der skal bruges mere info ... så sig endelig til. Jeg ved ikke hvor meget der måske ville blive overflødig ....

Det skal laves i C# og bruges på en hjemmeside.

// ouT
Avatar billede Syska Mester
13. april 2008 - 20:07 #1
Skal lige siges at data kommer fra en MSSQL 2005.

2 Tables,
En med brugere ... og deres nuværende point og en med tidligere point fra forgående dage.

Så hvis nogle SQL tricks kan gøre det nemmere, så er det også en mulighed.
Avatar billede arne_v Ekspert
13. april 2008 - 20:29 #2
Jeg forstå ikke din datastruktur / data.

Men jeg tænker i retning af:

SELECT navn,dato,point
FROM
((SELECT navn,point,'current' AS dato FROM currentstatus)
UNION
(SELECT navn,point,dato FROM historicstatus)) x
GROUP BY navn,dato
ORDER BY navn,dato

og så en formatering i applikationen.
Avatar billede Syska Mester
13. april 2008 - 20:52 #3
Kan godt ske min dato struktur er "dum", så hvis du har foreslag til hvordan den kan laves om lytter jeg gerne ... men mit andet spørgsmål omkring det på eksperten har jeg lige lukket i SQL kategorien, da der ikke var kommet nogen spørgsmål eller ideer.

Men nu ved du hvad jeg vil have ... så hvis min dato struktur kan laves bedre lytter jeg gerne ...

Mit problem pt er ikke at få dataen ud, men nærmere hvordan jeg får den formateret på den nemmeste måde, uden at skulle ud i noget alt for kompliceret ... hvis der nu var en nem måde jeg ikke lige var kommet på ...

Men er ved at kigge på Custom Aggregate funktion i SQL, og så lave en på Point sammen med dato ... som en string ... deraf ville det måske være nemmere at lave min formatering, efter som det hele ville komme i en lidt mere logisk række følge ...

// ouT
Avatar billede Syska Mester
14. april 2008 - 01:10 #4
Lavet en Aggregate funktion i MSSQL 2005, som smider Dato, Point, sammen .... adskilft af ; .... er der flere, så er de adskilt af ,

Da jeg endnu ikke lige kan forudsige om der vil kunne opstå huller i dato for nogen spillere ....

// ouT
Avatar billede arne_v Ekspert
14. april 2008 - 03:02 #5
Jeg mener stadig at det er forkert at lave den formatering i SQL.

public strict PointTime
{
    public DateTime time;
    public int point;
}

public class Person
{
  private String name;
  private List<PointTime> point;
  ...
}

Dot DAL returnerer en List<Person>.

Dit PL formaterer data.
Avatar billede Syska Mester
14. april 2008 - 16:13 #6
ja, jo ... men nu var det jo også direkte spm om hvordan jeg skulle gøre ... og så måtte jeg jo arbejde videre da jeg ikke fik noget brugbart i første omgang ...

Jeg har også overvejet den løsning du kommer med her ... men hvad er der bedst performance i ?

I begge tilfælde laver jeg jo i realiteten 2 gennemgange af mine data ... da jeg først skal have det delt ud på Person og så Dato/Point .... og så skal min table laves ... det samem sker jo faktisk ved min måde med en Aggregate funktion ...

Men jeg vil da måske overveje at prøve at lave det andet også ... bare for at se hvad der måske virker bedst ...

// ouT
Avatar billede arne_v Ekspert
15. april 2008 - 04:31 #7
Mit gæt vil være at min metode vil være en lille smule langsomme på IIS og en lille
smule hurtigere på SQLServer.

Mine præferancer er ikke baseret på performance men på at have noget kode der er
til at vedligeholde og bruge i andre sammenhænge.
Avatar billede Syska Mester
26. maj 2008 - 00:15 #8
smid et svar ... du første mig i den retning jeg skulle.
Avatar billede arne_v Ekspert
26. maj 2008 - 00:52 #9
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester