Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


SQL-sats

Postades av 2006-06-29 13:17:47 - fredrik nilsson, i forum access, Tråden har 8 Kommentarer och lästs av 829 personer

Hej,

i en SQL-sats ska jag plocka fram den spelare som avancerat mest i ranking från vecka 1 till vecka 2. Jag har följande sats:

Kod:

SQLRank = " SELECT TOP 1 * From (Select tableRanking.strDate, tableRanking.intRanking, tablePlayerdetails.strPfirstname + ' ' + tablePlayerdetails.strPsurname AS Player, tableplayerdetails.PlayerID, tableRanking.intRankposition, " & _
" (SELECT intRankposition FROM tableRanking T2 WHERE T2.PlayerID = tablePlayerdetails.PlayerID AND intWeek = " & intWeek - 1 & " AND intYear = " & intYear & ") - tableRanking.intRankposition AS RankMove " & _
" FROM tableRanking, tablePlayerdetails" & _
" WHERE tableRanking.PlayerID = tablePlayerdetails.PlayerID" & _
" AND intWeek = " & intWeek & " AND intYear = " & intYear & ") AS Rank ORDER BY RankMove DESC"

Problemet med denna är att den ger "fel" svar i RankMove. Den ger rätt spelare, men fel antal rankingsteg. Spelaren avancerade från 18 till 12 men ger 20 i RankMove när det borde vara 6. Något skumt är det...kan någon hjälpa mig med en lösning?


Svara

Sv: SQL-sats

Postades av 2006-06-29 13:25:03 - Niklas Jansson

Till att börja med kan du ju visa hur själva SQL-strängen ser ut, snarare än hur du bygger upp den.


Svara

Sv:SQL-sats

Postades av 2006-06-29 13:39:43 - fredrik nilsson

Hej,

jag förstår inte riktigt hur du menar. Menar du hur tabellerna ser ut eller hur jag fyller SQL-satsen med relevant data? SQL-strängen ovan är den jag använder...


Svara

Sv: SQL-sats

Postades av 2006-06-29 13:42:44 - Niklas Jansson

Det du har skrivit där är någon sorts VB/VBA/VB.NET-kod, eller hur?
Kör koden, fånga upp sql-meddelandet, och skriv det här.


Svara

Sv:SQL-sats

Postades av 2006-06-29 13:48:16 - fredrik nilsson

Tack för snabb respons.

Jag har skrivit den i ett asp-dokument i notepad. Jag får inget felmeddelande, utan den genererar "fel" värde. Det ska vara 6 och inte 20.

Så här blir det om jag kör ett response.write på den:

SELECT TOP 1 * From (Select tablePlayerDetails.intPlayerAge, tablePlayerDetails.strResidence, tablePlayerDetails.strCountry, tableRanking.strDate, tableRanking.intRanking, tablePlayerdetails.strPfirstname + ' ' + tablePlayerdetails.strPsurname AS Player, tableplayerdetails.PlayerID, tableRanking.intRankposition, (SELECT intRankposition FROM tableRanking T2 WHERE T2.PlayerID = tablePlayerdetails.PlayerID AND intWeek = 13 AND intYear = 1) - tableRanking.intRankposition AS RankMove FROM tableRanking, tablePlayerdetails WHERE tableRanking.PlayerID = tablePlayerdetails.PlayerID AND intWeek = 14 AND intYear = 1) AS Rank ORDER BY RankMove DESC


Svara

Sv: SQL-sats

Postades av 2006-06-29 14:14:30 - Niklas Jansson

Nu ser det bättre ut. Efter snabb genomläsning verkar det rätt. Börja med att plocka isär kodbitarna och se vad du får.
Vad ger följande:

(SELECT intRankposition FROM tableRanking T2, tablePlayerdetails WHERE T2.PlayerID = tablePlayerdetails.PlayerID AND intWeek = 13 AND intYear = 1)

Och
Select tableRanking.intRankposition FROM tableRanking, tablePlayerdetails WHERE tableRanking.PlayerID = tablePlayerdetails.PlayerID AND intWeek = 14 AND intYear = 1


Svara

Sv:SQL-sats

Postades av 2006-06-29 14:36:01 - fredrik nilsson

Lite svårt att plocka ut det, jag var tvungen att ersätta PlayerID med ID:t på den spelare som det berör. Då gav det följande resultat.

Den första SQL-satsen (vecka 13) ger svaret 18.
Den andra SQL-satsen (vecka 14) ger svaret 12.

En liten ledtråd kan vara att det totala antalet spelare på rankinglistan är 32. 32-12 = 20, dvs det tal som presenteras vid en response.write av RankMove...*signaturmelodi till Hajen 1,2 och 3*.

Det kan ju tyda på att det första värdet (för vecka 13) är felaktigt?


Svara

Sv: SQL-sats

Postades av 2006-06-29 15:35:31 - Niklas Jansson

Ja, det är inte omöjligt. Det är alltid svårt att sätta sig in i någon annans kod, i synnerhet när man inte har rådatan.

Du måste bena ut varje del för sig - får det här rätt värde, får nästa rätt värde osv.
Frågan är för komplex att bara läsa igenom och förstå.


Svara

Sv:SQL-sats

Postades av 2006-06-29 16:02:05 - fredrik nilsson

Tack för ditt engagemang. Det är alltid krångligt att sätta sig in i någon annans kod.

Jag gjort ännu en ful-lösning. Jag plockade ut ID:t från SQL-satsen och använde den i en ny SQL-sats så blev det rätt. Men det kostade ytterligare ett dyrbart recordset.

Så här blev det:

Player of the week award

Week 14, Year 1

Herman Lundberg, 19, from Sweden, currently living in Stockholm. He has moved 6 positions since last week and is now ranked as number 12 in the world.

The Player of the week award is an award for the player that has advanced most positions in the last week.

:)


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 768
27 960
271 761
493
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies