webForumDet fria alternativet

Söka efter senaste förekomst av...

ASP

14 svar · 206 visningar · startad av Maister

Medlem sedan juli 200165 inlägg
Frågan#1

Jag har en databas som innehåller alla dragningar av keno, och har följande kolumner i tabellen:

Datum, knr1, knr2 .... knr20

Datum är när dragningen var, och knr1-knr20 innehåller varje nummer som drogs i varsin kolumn.

Nu vill jag ta och söka igenom databasen och hitta när ett vist nummer drogs senast, så jag kan få fram hur många dragningar numret inte kommit upp i irad. Kör jag SQL kommandot SELECT så hittar den väl alla, och jag vill bara ha den senaste. Hur löser jag det så att sökningen blir så snabb som möjlig?

Maister

Medlem sedan juni 200032 967 inlägg
#2
strSQL = "SELECT TOP 1 * FROM tblKeno WHERE knr1 = " & numret & " OR knr2 = " & numret & " OR ....... ORDER BY datumfältet DESC"

Jag undrar dock varför du har 20 fält i tabellen? Jag hade helt klart haft mig en kolumn för dragna nummer och en för dragning. Det blir dessutom lättare att skriva SQL-frågor mot en sådan tabell.

Mvh,

------------------
http://free.webforum.nu/wf/Forum1/HTML/004053.html

Medlem sedan juli 200165 inlägg
#3

Du menar ha alla numren i en och samma kolumn avskilda med t.ex. "," eller?
(ex: 1,2,12,23,24...)

Blir det någon skillnad, förutom att SQL-frågorna blir lättare?

Maister

Medlem sedan juni 200032 967 inlägg
#4

Du menar ha alla numren i en och samma kolumn avskilda med t.ex. "," eller?

Herre gud, nej! :)

En post per draget nummer.

[red]ID       draget      datum
-------------------------------
1          12        2001-09-13
2          60        2001-09-13
3          52        2001-09-13
4           1        2001-09-13
...[/red]

------------------
http://free.webforum.nu/wf/Forum1/HTML/004053.html

Medlem sedan juli 200165 inlägg
#5

nja, jag ska dra ut annan info ur tabell också, och jag vill kunna se vilka nummer som blev dragna när.

Jag har över 1400 dragningar i tabellen.

Maister

Medlem sedan juli 200165 inlägg
#6
strSQL = "SELECT TOP 1 * FROM tblKeno WHERE knr1 = " & nr1 & " OR knr2 = " & nr1 & " ORDER BY Datum DESC"

Körde koden ovan och fick följande fel:

Too few parameters. Expected 2.

Något jag har missat?

Maister

Medlem sedan juni 200032 967 inlägg
#7

Det beror på.

  1. Har du sett till så du använder rätt tabell- och fältnamn i frågan?

  2. Har variabeln nr1 något värde?

------------------
http://free.webforum.nu/wf/Forum1/HTML/004053.html

Medlem sedan juli 200165 inlägg
#8

1. Tabell- och fältnamn är rätt.
2. nr1 = 5

Maister

Medlem sedan juni 200032 967 inlägg
#9

Din tabell heter alltså precis som jag gissade, tblKeno? Kusligt...

Skriv ut sql-frågan med response.write. Ser den ok ut?

------------------
http://free.webforum.nu/wf/Forum1/HTML/004053.html

Medlem sedan juli 200165 inlägg
#10

Jag vet, kusligt :)

Du vet, vi proffs följer väl en oskriven standard ;)

SELECT TOP 1 * FROM tblKeno WHERE knr1 = 5 OR knr2 = 5 ORDER BY Datum DESC

Ser rätt ut tycker jag.

Maister

Medlem sedan juni 200032 967 inlägg
#11

knr-fälten är av typen tal?
Går det bättre om du klamrar fältet Datum?

------------------
http://free.webforum.nu/wf/Forum1/HTML/004053.html

Medlem sedan juli 200165 inlägg
#12

knr-fälten är string

Klamrar hur?

Medlem sedan juni 200032 967 inlägg
#13

Varför är de inte av typen tal när det är tal som ska lagras där?

Man skall ha apostrofer runt strängvärden i sql-frågor.

strSQL = "SELECT TOP 1 * FROM tblKeno WHERE knr1 = '" & nr1 & "' OR knr2 = '" & nr1 & "' ORDER BY [Datum] DESC"

------------------
http://free.webforum.nu/wf/Forum1/HTML/004053.html

Medlem sedan juli 200165 inlägg
#14

Nu är de tal :)
[Datum] hjälpte inte heller :(

Maister

Medlem sedan juli 200165 inlägg
#15

ÅÅÅHHHH! Dumma mig! Löste problemet :)

Maister

[Redigerat av Maister den 13 sep 2001]

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)