Just nu i M3-nätverket
Gå till innehåll

Sätta WHERE-satsen i en loop?


Rolf

Rekommendera Poster

Jag ska koppla två databaser, en med filmer och en med medlemmar (som alltså har gjort filmerna)

rsFilmarkiv innehåller flera yrkesroller som antingen kan vara skrivet namn eller referens till medlemsdatabasen. Trixet är alltså att få ut medlemsnamnet då det inte ligger i filmdatabasen. Inner join funkar väl inte då det kan finnas flera roller (RegiID, FotoID osv)

 

Så här vill jag att det ska funka:

 

<% DO UNTIL rsFilmarkiv.EOF %>

<%=rsFilmarkiv("Titel")%>

Regi: <% If rsFilmarkiv("RegiID")<> "" then %>1

<% DO UNTIL rsMember("MemberID") = rsFilmarkiv("RegiID") OR rsMember.EOF %>

 

<%= rsMember("fornamn")%>&nbsp;<%= rsMember("efternamn")%>

<%rsMember.MoveNext

loop%>

<% Else %><%=rsFilmarkiv("Regi")%>

<% End If %>

 

<%rsFilmarkiv.MoveNext

LOOP%>

Det går ju förstås att skapa ett nytt Recset för varje post men det blir väl inte så prestandamässigt bra.

Länk till kommentar
Dela på andra webbplatser

en sql-sats kan nog vara lösningen, om jag förstog dig rätt..

 

SELECT f.Titel, m.fornamn, m.efternamn

FROM filmdatabasen f, medlemsdatabasen m

WHERE f.RegiID = m.MemberID

 

Länk till kommentar
Dela på andra webbplatser

Om du vill ha fram namn på både regissör och fotograf i samma fråga så går det

 

select foto.fornamn as ffornamn,
      foto.efternamn as fefternamn,
      regi.fornamn as rfornamn,
      regi.fornamn as refternamn,
      titel
 from members as foto, 
      filmarkiv as fa,
      members as regi
where foto.memberid = fa.fotoid
 and fa.regiid = regi.memberid

 

Frågan förutsätter att alla filmer har både fotograf och regissör. Om det saknas så får du byta till outer join.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...