webForumDet fria alternativet

info från 2 tabeller problem

ASPur ASP

12 svar · 350 visningar · startad av golgata

golgataMedlem sedan maj 2000131 inlägg
#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?

ViktorMedlem 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

golgataMedlem 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

LarsGMedlem 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
golgataMedlem sedan maj 2000131 inlägg
#5

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

LarsGMedlem sedan dec. 200012 464 inlägg
#6

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

golgataMedlem 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.

golgataMedlem sedan maj 2000131 inlägg
#8

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

LarsGMedlem 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

golgataMedlem 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...

LarsGMedlem 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.

golgataMedlem 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

%>
LarsGMedlem 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.

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