Avatar billede axkris Nybegynder
16. juni 2005 - 20:39 Der er 8 kommentarer og
1 løsning

2 selects i en sætning?

Hej

Jeg har en dropdown-box, som skal vise følgende:

<option value=<%=rs("T_TOPICID")%>><%=rs("F_SUBJECT")%> - <%=rs"(T_SUBJECT")%></option>

Dvs:

FORUM 1 - TOPIC 3
FORUM 1 - TOPIC 4
FORUM 2 - TOPIC 7
FORUM 4 - TOPIC 2
FORUM 9 - TOPIC 9

Eller skrevet med "virkelige" navne:

SPISESTEDET - DEBATTEN OM GO MAD
SPISESTEDET - KRITIKKEN AF FIN MAD
GRILLEN - DEBATTEN OM HURTIG MAD
KINA-GRILLEN - OMTALE AF KINAMAD
BODEGA - EN ANMELDELSE AF DÅRLIG MAD

Jeg har derfor to select's, men jeg vil gerne have optimeret dem samme til en, men jeg kan ikke finde ud af det. Mine joins mislykkedes (så derfor undlader jeg at skrive dem).

strSql = "SELECT TOPIC_ID, T_SUBJECT, FORUM_ID FROM " & strTablePrefix & "TOPICS WHERE FORUM_ID IN (SELECT FORUM_ID FROM " & strTablePrefix & "FORUM WHERE F_PRIVATEFORUMS = 0) AND CAT_ID <> 40 AND CAT_ID <> 61 AND CAT_ID <> 65 ORDER BY T_SUBJECT"

strSql = "SELECT F_SUBJECT FROM " & strTablePrefix & "FORUM WHERE FORUM_ID = " & RS("FORUM_ID")
Avatar billede fennec Nybegynder
17. juni 2005 - 09:02 #1
Jeg vil tro denne virker:
strSql = "SELECT " & strTablePrefix & "TOPICS.TOPIC_ID, " & strTablePrefix & "TOPICS.T_SUBJECT, " & strTablePrefix & "TOPICS.FORUM_ID, " & strTablePrefix & "FORUM.F_SUBJECT "&_
  "FROM " & strTablePrefix & "TOPICS inner join " & strTablePrefix & "FORUM on " & strTablePrefix & "FORUM.FORUM_ID=" & strTablePrefix & "TOPICS.FORUM_ID "&_
  "WHERE " & strTablePrefix & "TOPICS.FORUM_ID IN (SELECT FORUM_ID FROM " & strTablePrefix & "FORUM WHERE F_PRIVATEFORUMS = 0) "&_
  "AND " & strTablePrefix & "TOPICS.CAT_ID <> 40 AND " & strTablePrefix & "TOPICS.CAT_ID <> 61 AND " & strTablePrefix & "TOPICS.CAT_ID <> 65 "&_
  "ORDER BY " & strTablePrefix & "TOPICS.T_SUBJECT"

Der må også kunne laves noget opdatering på din "sub select", men det kan vi tage hvis den virker :o)
Avatar billede axkris Nybegynder
17. juni 2005 - 15:15 #2
Takker - det virker. Kan du hjælpe med at indsætte denne også?

SELECT " & strTablePrefix & "CATEGORY.CAT_NAME, " & strTablePrefix & "CATEGORY.CAT_ORDER WHERE CAT_ID = " & RS("CAT_ID")

CAT_ID findes i:

" & strTablePrefix & "FORUM

Tryk svar :-)
Avatar billede fennec Nybegynder
20. juni 2005 - 14:09 #3
Ind i den samme sql-sætning, så det er samlet i en??
Avatar billede axkris Nybegynder
04. juli 2005 - 15:27 #4
ja
Avatar billede fennec Nybegynder
04. juli 2005 - 15:35 #5
Hvordan hænger CATEGORY sammen med de andre tabeller??
Avatar billede fennec Nybegynder
04. juli 2005 - 15:36 #6
er det på TOPICS.CAT_ID??
Avatar billede axkris Nybegynder
04. juli 2005 - 15:39 #7
ja
Avatar billede fennec Nybegynder
04. juli 2005 - 16:19 #8
Så må det næsten være sådan:

strSql = "SELECT " & strTablePrefix & "TOPICS.TOPIC_ID, " & strTablePrefix & "TOPICS.T_SUBJECT, " & strTablePrefix & "TOPICS.FORUM_ID "&_
  ", " & strTablePrefix & "FORUM.F_SUBJECT, " & strTablePrefix & "CATEGORY.CAT_NAME, " & strTablePrefix & "CATEGORY.CAT_ORDER "&_
  "FROM " & strTablePrefix & "TOPICS "&_
  "inner join " & strTablePrefix & "FORUM on " & strTablePrefix & "FORUM.FORUM_ID=" & strTablePrefix & "TOPICS.FORUM_ID "&_
  "inner join " & strTablePrefix & "CATEGORY on " & strTablePrefix & "CATEGORY.CAT_ID=" & strTablePrefix & "TOPICS.CAT_ID "&_
  "WHERE " & strTablePrefix & "TOPICS.FORUM_ID IN (SELECT FORUM_ID FROM " & strTablePrefix & "FORUM WHERE F_PRIVATEFORUMS = 0) "&_
  "AND " & strTablePrefix & "TOPICS.CAT_ID <> 40 AND " & strTablePrefix & "TOPICS.CAT_ID <> 61 AND " & strTablePrefix & "TOPICS.CAT_ID <> 65 "&_
  "ORDER BY " & strTablePrefix & "TOPICS.T_SUBJECT"
Avatar billede axkris Nybegynder
05. juli 2005 - 12:09 #9
Virker - takker :-)
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
Computerworld tilbyder specialiserede kurser i database-management

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