webForumDet fria alternativet

info från 2 tabeller problem

ASPur ASP

12 svar · 350 visningar · startad av golgata

Medlem sedan maj 2000131 inlägg
Frågan#1

har 2 tabeller. en som heter members och en som heter inlagg

Nu vill jag plocka ut alla från members som har samma membetsid.

Set Rs = Server.CreateObject("ADODB.Recordset")
SQL = "Select * from members WHERE membersid = '" & membersid & "' ORDER BY efternamn, fornamn" 
Rs.Open SQL, Connect, 3,3

så långt inga problem.

Sen vill jag hämta all information från inlagg som handlar om dessa medlemmar.

Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "Select * from inlagg WHERE membersid = '" & membersid & "' ORDER BY efternamn, fornamn" 
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

så långt inga problem. men nu kommer problemmet.

De medlemmar som inte finns i inlagg vill jag även visa. SÅ att det t.ex. står Denna medlemmen har inte sparat något.

Så först ska jag loopa ifrån members och plocka fram alla namn därifrån och sen de namn som jag hämtar därifrån ska loopas ut på sidan med all den info som dem lagt in i inlagg. Får det att fungera ända fram tills man ska visa de som inte har något inlagt. Hur gör man detta?

Vet att jag ska använda left join och att jag ska plocka ut null-värdena men hur gör man det?

Medlem sedan aug. 20021 752 inlägg
#2

Jag är inte helt säker men prova med detta,

SELECT * FROM inlagg LEFT JOIN members  ON membersid WHERE members.membersid='" & membersid & "' ORDER BY efternamn, fornamn

/Viktor

Medlem sedan maj 2000131 inlägg
#3

Ja men det är inte riktigt den jag är ute efter. Den plockar ju bara fram det som finns i inlagg.

Finns inte personen med i inlagg så ska det skrivas ut att det inte finns någon info om t.ex Per Persson

Medlem sedan dec. 200012 464 inlägg
#4

SQL:

SELECT * 
FROM members LEFT JOIN inlagg
ON members.membersid = inlagg.membersid
WHERE members.membersid= " & membersid & "
 ORDER BY efternamn, fornamn

I ASP för att kontrollera om det fanns något

if isnull(rs("columnFromInlagg")) then
' det fiinns inga inlägg om denna person
end if
Medlem sedan maj 2000131 inlägg
#5

men du får jag bara följande felmeddelande.
Type mismatch in expression

Medlem sedan dec. 200012 464 inlägg
#6

Vilken datatyp har kolumnerna members.membersid och inlagg.membersid?

Medlem sedan maj 2000131 inlägg
#7

jag hade den ena som tal och den andra som text. Men nu har jag ändrat så att båda är tal. då släpper den igenom det.

Medlem sedan maj 2000131 inlägg
#8

men hur visar jag namnet på de som ligger i members som inte finns med i inlagg.

Medlem sedan dec. 200012 464 inlägg
#9

I ASP för att kontrollera om det fanns något

kod:
if isnull(rs("columnFromInlagg")) then
' det fiinns inga inlägg om denna person
end if

Medlem sedan maj 2000131 inlägg
#10

jo men där har jag lagt in följande.

kod:
if isnull(rs("columnFromInlagg")) then %>
<% recset("fornamn") %> finns inte med
<% end if %>
men det fungerar inte...

Medlem sedan dec. 200012 464 inlägg
#11

Du måste ändra isnull(rs("columnFromInlagg")) så att det passar med namnet på ditt recordset och dina kolumnnamn.

Medlem sedan maj 2000131 inlägg
#12

jo men kolumnnamnet är membersid

<% if isnull(recset("membersid")) then
%>
trtr<%= RecSet("fornamn") %>
<%
else

%>

för det ska väl inte vara

<% if isnull(recset("members.membersid")) then
%>
trtr<%= RecSet("members.fornamn") %>
<%
else

%>
Medlem sedan dec. 200012 464 inlägg
#13

Du får ta någon annan kolumn eftersom membersid finns i tabellen members och kommer aldrig att vara null.

134 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)