14. august 2005 - 19:32Der er
1 kommentar og 1 løsning
en stored procedure med et random valg
Jeg har en tabel som ser således ud (og som holder styr på hvor mange værelser der er knyttet til et hus - obs der er flere huse): houseRoomId int, roomId int , houseId int
og en anden tabel med bannere som er knyttet til et værelse: bannerId int, bannerPic varchar, roomId int
mit problem er så, at jeg skal kunne hente et tilfældigt banner ud af banner tabellen men samtidig sikre at det hus som jeg arbejder ud fra har det pågældende værelse til at pege på sig som banneret bliver knyttet til. Jeg kan derfor ikke bare vælge et tilfældigt banner - men skal på en eller anden måde sikre at ovenstående er opfyldt. Er der nogen som kan hjælpe??
Altså: du har nogle huse. Hvert hus har nogle værelser tilknyttet. Hvert værelse har nogle bannere tilknyttet. Korrekt? Du vil nu gerne have et tilfældigt banner hørende til et bestemt hus - korrekt?
Prøv noget i denne retning:
SELECT TOP 1 bannerId, bannerPic FROM banner INNER JOIN houseRoom ON banner.roomId = houseRoom.roomId WHERE houseId = 123 ORDER BY NEWID()
Tricket ligger i sidste linie der sikrer en tilfældig ordning af rækkerne. Med TOP 1 bliver det så kun den første række der kommer ud.
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.