Jeg har nu udfordringen at lave et view der skal vise forskellen på de to test. Altså resulatatet skal se sådan ud. ( DIFFRESULT regnes ud som test 1 - test2 for hvert topic)
Har ingen Ide om hvordan jeg kan gøre det i SQL?? I det virkelige eksempel er der op til 9 test der kan blive lagt sammen eller trukket fra hinanden, men den tid den glæde :-)
Det er lidt forskellige i forskellige situationer. Men det er kune simple operationer som at lægge til hinanden og trække fra. Har lavet denne query som virker, men er det den smarteste måde?
SELECT TOPIC_ID, (SELECT result FROM test1 w WHERE w.topic_id = dbo.TEST1.topic_id AND test_id = 1) - (SELECT result FROM test1 r WHERE r.topic_id = dbo.TEST1.topic_id AND test_id = 2) AS Expr1 FROM dbo.TEST1 GROUP BY TOPIC_ID
Hvis du for hvert topic altid har precis to tests med test_id 1 og 2 og det altid er 2erne der skal traekkes fra 1erne saa ville det vaere simpler at vise result fra test_id2 negativt og saa tage summen saaledes:
SELECT topic_id, sum(result) FROM jonasmp GROUP BY topic_id;
Hvis du gerne vil bevare vaerdierne som de er kunne du midlertidigt saette 2erne negativt, tage summen, og saette 2erne tilbage til posetivt igen. Saaledes:
UPDATE jonasmp SET result = -result WHERE test_id = 2; SELECT topic_id, sum(result) FROM jonasmp GROUP BY topic_id; UPDATE jonasmp SET result = -result WHERE test_id = 2;
Jeg saa ikke at buzzzz havde lavet et indlaeg mens jeg arbejdede med mit. Jeg har ikke studeret det, men buzzzz synes at forstaa at det mindste resultat skal traekkes fra det stoerste hvorimod jeg forstod fra spoergsmaalet at 2erne skal traekkes fra 1erne, hvilket saa naturligvis kan levere en negativ sum. Hvad siger Jonasmp?
Og saa en kommentar: Jeg havde for test lavet en tabel kaldet jonasmp i stedet for test1, men det skal du naturligvis lave om til dit eget tabelnavn.
jonasmp, fik du mit indlaeg? Jeg er spaendt paa din reaktion. Jeg tillader mig at oprette dette som svar for at lette lukning hvis du skulle finde at mig indlaeg har vaeret til hjaelp.
jonasmp, jeg proever lige en gang til. Du oprettede dette spoergsmaal for et halvt aar siden, men der har ikke vaeret nogen aktivitet paa det siden to dage efter oprettelsen. Det er uden tvivl ikke laengere aktuelt. Kan jeg bede dig lukke det, for god ordens skyld og saa det ikke laengere staar som aabent i min (og andres) liste af indlaeg. Hvad enten du oensker at afgive points eller du selv vil oprette et svar til at acceptere, afslut hvad du begyndte paa og luk spoergsmaalet. Please.
Synes godt om
Ny brugerNybegynder
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.