Avatar billede larsmartin Praktikant
09. marts 2010 - 23:23 Der er 2 kommentarer og
1 løsning

SQL streng til random inner join

Jeg har haft et lignende problem som før blev løst så måske også denne gang.

Jeg har to tabeller, en med forfattere og en med de bøger de har skrevet.

Jeg vil gerne vælge to tilfældige forfattere og for hver af dem en eller to bøger de har skrevet.

Det går fint med at vælge to tilfældige forfattere
SELECT TOP 2 AuthorID FROM Author ORDER BY Rnd([AuthorID]) DESC">

Nu skal jeg så vælge en bog, som jeg går ud fra skal være noget a la
SELECT TOP 1 Author.AuthorID, Books.BookID FROM (Books INNER JOIN Author ON Books.AuthorID = Author.AuthorID) WHERE [Author.AuthorID] = "de to id numre der blive valgt ovenfor"

Det kan være jeg er helt galt på den men det er der forhåbenlig en af jer der kan fortælle?
10. marts 2010 - 07:08 #1
Her er en maade at goere det paa:

SELECT TOP 1 Authorname, Booktitle
FROM Author AS a INNER JOIN Books AS b ON a.AuthorID = b.AuthorID
WHERE a.AuthorID = (SELECT Top 1 AuthorID FROM Author ORDER BY Rnd(AuthorID))
UNION
SELECT TOP 1 Authorname, Booktitle
FROM Author AS a INNER JOIN Books AS b ON a.AuthorID = b.AuthorID
WHERE a.AuthorID = (SELECT Top 1 AuthorID FROM Author ORDER BY Rnd(AuthorID))
Avatar billede larsmartin Praktikant
10. marts 2010 - 21:10 #2
Det var en af de mere snedige:)
Den virker, så giv et svar.
Tak for hjælpen
10. marts 2010 - 21:30 #3
Det er en daarlig raev der kun har en udgang!
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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