07. januar 2006 - 19:34Der er
12 kommentarer og 1 løsning
SQL sætning!
Jeg laver et udtræk fra min database som naturligvis indeholde nogle værdier! Men jeg har problemer med en værdi (PORTAL_TOPICS.T_LAST_POST_AUTHOR) som er et ID nummer på et givende medlem. Kan desværre ikke få omsat ID nummer til et navn uanset hvad jeg hitte på, der er ingen tvivl det er mig der fumler i det, så hjælp søges......
kryptos - jeg ser først nu, at jeg havde glemt at fjerne
strMembers = rs("MEMBER_ID") strNavn = rs("M_NAME") strSidst = rs("T_LAST_POST_AUTHOR") if strSidst <> then strNavn fra script!!!!
Jeg skal ha script til at omskrive rs("T_LAST_POST_AUTHOR") til rs("M_NAME"), forstået på måde, at når den hentet rs("T_LAST_POST_AUTHOR") skriver den endeligt rs("M_NAME") ......det lyder indviklet, men hvis I ikke forstår det må jeg prøve, at angribe spørgsmålet fra en anden vinkel!
når script kører denne linie: if strReplies <> 0 then%>Sidst svaret af <b><%=rs("T_LAST_POST_AUTHOR")%></b><%end if%><%if strReplies <> 0 then%> er rs("T_LAST_POST_AUTHOR") et ID nummer på medlemmet, dette ID nummer vil jeg ha vist som et navn i stedet for!
Så skal du vel rette det til at den udskriver fra kolonnen som indeholder navnet og det er nok M_NAME så vidt jeg kan se i koden. Din SQL sætning skulle gerne hente nanvet ud:
eks sådan her:
if strReplies <> 0 then%>Sidst svaret af <b><%=rs("M_NAME")%></b><%end if%><%if strReplies <> 0 then%>
Arh det er måske SQL sætningnen som faktisk henter T_AUTHOR og ikke T_LAST_POST_AUTHOR:
sql = "SELECT TOP 5 PORTAL_TOPICS.*, PORTAL_MEMBERS.* FROM PORTAL_TOPICS INNER JOIN PORTAL_MEMBERS ON PORTAL_TOPICS.T_AUTHOR = PORTAL_MEMBERS.MEMBER_ID ORDER BY T_LAST_POST DESC "
Så prøv at rette SQL sætningnen til:
sql = "SELECT TOP 5 PORTAL_TOPICS.*, PORTAL_MEMBERS.* FROM PORTAL_TOPICS INNER JOIN PORTAL_MEMBERS ON PORTAL_TOPICS.T_LAST_POST_AUTHOR = PORTAL_MEMBERS.MEMBER_ID ORDER BY T_LAST_POST DESC "
Skal siden kun vise top 5 T_LAST_POST_AUTHOR og ikke T_AUTHOR?
Ok så skal SQL sætning ikke rette som jeg har vist så skal den være som du har vist i første omgang:
sql = "SELECT TOP 5 PORTAL_TOPICS.*, PORTAL_MEMBERS.* FROM PORTAL_TOPICS INNER JOIN PORTAL_MEMBERS ON PORTAL_TOPICS.T_AUTHOR = PORTAL_MEMBERS.MEMBER_ID ORDER BY T_LAST_POST DESC "
Det du så kan gøre et at lave en seperat SQL sætning som henter members.M_NAME ud fra rs("T_LAST_POST_AUTHOR"). Eller udvide din SQL sætningen så henter nanvet på T_LAST_POST_AUTHOR i en SQL sætning sådan her:
sql = "SELECT TOP 5 PORTAL_TOPICS.*, PORTAL_MEMBERS.*, tblPM.M_NAME as lastAuthorName FROM (PORTAL_TOPICS INNER JOIN PORTAL_MEMBERS ON PORTAL_TOPICS.T_AUTHOR = PORTAL_MEMBERS.MEMBER_ID) INNER JOIN PORTAL_MEMBERS as tblPM ON PORTAL_TOPICS.T_LAST_POST_AUTHOR = tblPM.MEMBER_ID ORDER BY T_LAST_POST DESC "
og rette kodne som udskriver til dette:
if strReplies <> 0 then%>Sidst svaret af <b><%=rs("lastAuthorName")%></b><%end if%><%if strReplies <> 0 then%>
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.