Kan man göra en If stas som ska göra någont om det som finns i tabell XXX finns med i tabell YYY.
De behöver alltså inte var likamed varandra utan bara om det finns med.
------------------
ja©ob
7 svar · 162 visningar · startad av Jacob
Kan man göra en If stas som ska göra någont om det som finns i tabell XXX finns med i tabell YYY.
De behöver alltså inte var likamed varandra utan bara om det finns med.
------------------
ja©ob
Det jag vill göra är det här:
Jag har en releaseplan över filmer som kommer ut kommande veckor. Denna releaseplan ligger i en tabell i min databas.
I en annan tabell har jag gjort en massa recensioner på filmer, det kan hända att jag har gjort en recension på en av de kommande filmerna i releaseplanen. SÅ jag tänkte att om titeln på filmen finns med i både releaseplanen och recensionerna så kan det bli en länk i releaseplanen som gå till den filmens recension.
Fattade ni det där??
------------------
ja©ob
Gör en outer join mellan tabellerna
Set RS = connection.execute("select f.titel as filmtitel, r.titel as recension from filmer f left outer join recensioner r on f.title = r.title")
While not RS.EOF
If not IsNull(RS("recension")) Then
'Recension finns
End If
RS.movenext
Wend
En left outer join innebär att man får upp alla poster från den vänstra tabellen (filmer) och där det inte finns någon match i den högra tabellen så får man en rad med null-värden i de kolumner man valt från den högra tabellen. Annars så fungerar det som en vanlig join.
------------------
essentitia preter non sans multiplicandum
Jag förstår inte riktigt, jag hr försökt ändra så att det ska passa:
<%[b]Set RS = connect.execute("select f.titel as titel from koav, r.title as title from releaseplan f left outer join recensioner r on f.title = r.title") [/b]
While not RS.EOF
If not IsNull(RS("recension")) Then%>
'Recension finns
<%End If
RS.movenext
Wend%>
Alltså recensionerne ligger i en egen tabell som heter koav (namnet på filmen ligger i kolumnen title), releaseplanen liger i en tabell som heter releaseplan (namnet på filmen ligger i kolumnen titel).
Felet jag får nu är att det är sntaxfel i form satsen.
------------------
ja©ob
[Redigerat av Jacob den 19 jan 2001]
Nu har jag testat lite till kolla på det här:
Set RS = connect.execute("select f.title as title, r.titel as titel from releaseplan f left outer join koav r on f.titel = r.title")
Felmedelmande:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 2 förväntades.
/videomonitor/releas.asp, line 41
------------------
ja©ob
<% Set RS = connect.execute("select f.title as title, r.titel as titel from releaseplan f left outer join koav r on[b] f.title = r.titel[/b]")
Jag vände lite på det, problemet nu är att det verkar osm om alla stämmer överrensr med varandra den visat lixom att alla har recension massa gånger.
------------------
ja©ob
Kan man bara skriva recensioner lite hipp som happ!? Är det inte bättre att du först listar vilka filmer som finns och sedan utifrån den faktan väljer att recencera en av de filmerna.
Då har du tabellerna [movies] och [recensioner] (hitta på ett bättre namn, dåligt förslag) och i tabeller [recensioner] har du fältet [x_movieID] som då är en siffra som motsvarar räknaren i tabellen [movies].
Hajar du? Då slipper du veta hur en viss film stavas, "Jönsonligan" eller "Jönson ligan". Då ser du till att filmens namn bara finns inskriven i databasen EN gång. Alla andra ställen där filmens namn finns med hänvisar man bara till ett nummer. Are you with? Lite krångligt kanske men du får en vatten tät lösning där folk kan stava hur fan dom vill utan att det blir massa error!
Egentligen är det ett stiligt och snyggt sätt att få en schyst errorhantering, dvs se till att det aldrig kan gå fel! :-)
Jag har tänkt om lite, om jag gör så här:
När jag lägger till en ny releasepan (som jag gör varje vecka) så kollar den om titlen finns med i recensionerna och om den gör det så lägger den till recensionens id nummer i en egen kolumn i releasepanen.
Min fråga är hur man gör en If-sats som ör uppfylld om något finns med i en kulomn alltså den ska inte vara exapt lika. Ungefär som man använde LIKE.
------------------
ja©ob