Lite mer INNER JOIN fråga Du kan göra det i en fråga:Jämföra 2 tabeller
Jag använder <code>Set RS = Conn.Execute("SELECT * FROM items WHERE ID = " & Request("ID"))</code> för att öppna en sql. i items har jag en kollum som heter kategori som innehåller siffror. I en annan tabell som heter just kategori ligger siffrorna i en kollum som heter ID och namnen på kategorierna ligger i kollum name. Jag skriver ut sqlen med tex <code><%=RS("kategori")%></code> hur skriver jag för att jämföra de bägge tabellerna och få fram namnet på gategorin?
måste man skriva alla tabellnamnen följe av komma som man vill ha med eller kan man använda * som ovan?
Tack på förhand
//JockeSv: Jämföra 2 tabeller
Set RS = Conn.Execute("SELECT items.* FROM items LEFT JOIN kategori ON (items.kategori = kategori.ID) WHERE items.ID = " & Request("ID"))
Din kod är öppen för SQL injektion attacker.
En snabb enkel utväg är att skriva:
Set RS = Conn.Execute("SELECT items.* FROM items LEFT JOIN kategori ON (items.kategori = kategori.ID) WHERE items.ID = " & CLng(Request("ID")))
Om Request("ID") innehåller något annat än ett tal så kommer sidan krascha, men man kan inte infoga någon ytterligare SQL sats.