Avatar billede axkris Nybegynder
23. april 2004 - 13:08 Der er 4 kommentarer og
1 løsning

Flere selects i en forespørgsel?

Hej

Hvordan får jeg kørt følgende sammen til en sætning/forespørgsel? Enkeltvis virker de fint, men når jeg skal koble dem sammen til en forespørgsel, så virker det ikke... sikkert fordi jeg ikke gør det rigtigt.

strSQL = "SELECT DISTINCT MemberID, COUNT(ID) AS COUNTER FROM LINKS_FSH WHERE CREATED > '2004-04-17' GROUP BY MemberID ORDER BY COUNTER DESC"
Set rs=dataConn.Execute(strSQL)

strSQL = "SELECT M_NAME FROM FORUM_MEMBERS WHERE MEMBER_ID = " & RS("MEMBERID")
Set rs2=dataConn.Execute(strSQL)
Avatar billede trer Nybegynder
23. april 2004 - 13:13 #1
Hvad med sådan her:

SELECT M_NAME, MEMBERID COUNT(*) AS COUNTER
FROM LINKS_FSH
INNER JOIN FORUM_MEMBERS
ON FORUM_MEMBERS.MEMBER_ID = LINKS_FSH.MEMBERID
WHERE CREATED > '2004-04-17'
GROUP BY M_NAME, MEMBERID
ORDER BY COUNTER DESC"

Det giver generelt ikke mening at benytte en DISTINCT sammen med en GROUP BY.
Avatar billede axkris Nybegynder
23. april 2004 - 13:27 #2
Takker... manglede lige et komma ;)

strSQL = "SELECT M_NAME, MEMBERID, COUNT(*) AS COUNTER FROM LINKS_FSH INNER JOIN FORUM_MEMBERS ON FORUM_MEMBERS.MEMBER_ID = LINKS_FSH.MEMBERID WHERE CREATED > '2004-04-17' GROUP BY M_NAME, MEMBERID ORDER BY COUNTER DESC"

Men hvad er det lige at group by gør? Jeg har ikke rigtigt forstået det?
Avatar billede mugs Novice
23. april 2004 - 13:34 #3
Group By grupperer data. Hvis du f.eks har enn række datoer:

2004-01-01
2004-01-02
2004-01-01

Vil du med en group By få:

2004-01-01
2004-01-02
Avatar billede axkris Nybegynder
23. april 2004 - 13:42 #4
Men er forskellen på DISTINCT og GROUP BY så ikke bare, at DISTINCT gør den inden for en tabel mens GROUP BY går det alle valgte tabeller ... eller?
Avatar billede mugs Novice
23. april 2004 - 13:47 #5
DISTINCT vælger kun een post af hver forekomst:

2004-01-01
2004-01-02

Med en kan du f.eks foretage en optælling af forekomater. Hvis du trækker datofeltet ned 2 gange og vælger Grpou By i den ene kolonne og Antal i den anden vil du få:

2004-01-01    2
2004-01-02    1
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