webForumDet fria alternativet

sök

7 svar · 235 visningar · startad av lillen_009

lillen_009Medlem sedan nov. 2002137 inlägg
#1

1. Jag vill kunna söka på olika data i min databas. jag får det att fungera när jag söker på en kolumn, men när jag ska söka på två så fungerar det inte.

SQL = "SELECT * FROM posts WHERE msg like '%" & Request.Form("msg") & "%' AND author= like '%" & Request.Form("author") & "%' ORDER BY date desc"

2. Problem igen. När jag söker på author så ligger det som en siffra (ID) i databasen (posts).

Alltså är posts.author = members.memberID. Använder man någon modifierad form av mitt ovanstående exempel så söker man på en siffra och jag vill söka på namnet (members.membername)

@ndersMedlem sedan juni 200032 969 inlägg
#2

1. Du har ju både = och like på ditt andra kriterium i WHERE-satsen.
2. Jag förstår inte riktigt vad du menar, men en fin join kanske kan lösa problemet?

agneta_rungMedlem sedan juli 2002145 inlägg
#3

Kanske det är nåt sånt här du vill göra?

SQL = "SELECT posts.* FROM posts, members 
WHERE posts.author = members.memberID 
AND posts.msg like '%" & Request.Form("msg") & 
"%' AND members.membername like '%" & Request.Form("author") & 
"%' ORDER BY posts.date desc"
lillen_009Medlem sedan nov. 2002137 inlägg
#4

tack för svaren.

Ska förtydliga fråga två lite: (förenklat)
Har två tabeller - posts och members.
När en medlem gör ett inlägg lagras namnet på medlemmen(författaren) som ett nummer. När jag söker på författare i posts ligger det ett nummer i den kolumnen (Author). Därför måste jag på något sätt relatera till tabellen members.

Som sagt:
Posts.author = members.memberID
Jag vill att man ska kunna söka på medlemmens namn (members.membername)

@ndersMedlem sedan juni 200032 969 inlägg
#5

Jag tycker att agneta_rungs förslag bör fungera. Har du provat? Blir det inte som du önskar?

lillen_009Medlem sedan nov. 2002137 inlägg
#6

nu fungerar det. det var ett mellanslag som saknades. tack till er båda :D

lillen_009Medlem sedan nov. 2002137 inlägg
#7

Vågar man ställa en till fråga :r

Om jag vill göra en count(*) på antalet hittade poster. Kan man lägga in det i samma SQL, eller måste man göra en egen med samma SQL-fråga

Det fungerar, men då gjorde jag en SQL fråga till med exakt samma innehåll - bara att jag satte i COUNT(*) istället. Det verkar opraktiskt, men man kanske måste göra så

@ndersMedlem sedan juni 200032 969 inlägg
#8

Du kan lägga med den frågan som en subquery, men jag undrar om det bästa kanske inte är att använda recordsetobjektets egenskap .RecordCount.

En liten sökning här på wF hjälper dig med det.

Mvh

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