Forkert kolonnenavn? Det er i hvert fald det den brokker sig over.
pröv evt:
SELECT COUNT(*) AS records FROM gb1, gb3 WHERE gb1.talkid = 'gb3_gb1' AND gb3.talkid = 'gb1_gb3' ORDER BY gb1.date DESC;
Det ser ud til at virke... Jeg tester lige noget igennem... BRB
Jeg hver bruger har sin egen tabel til gæstebog den hedder gb også der id. f.eks. gb1
Hvis 2 brugere skriver sammen via gæstebøgerne vil talkid laves sådan:
from = afsenderens id
id = modtagerens id
if from < id then
talkid = "gb"&from&"_gb"&id
end if
if id < from then
talkid = "gb"&id&"_gb"&from
end if
På denne måde er det midste id altid først.
Min side skal så kunne udskrive samtalen med de 2 brugere via en JOIN regner jeg med. Altså hvor den tager alle poster fra de 2 tabeller hvor talkid er f.eks. gb1_gb2 hvis det er bruger 1 og 2 der har snakket sammen. Dette skal så ORDER BY date DESC
SELECT * FROM gb"& from &", gb"& id &" WHERE gb"& id &".talkid = 'gb'"& from &"'_gb'"& id &"' AND gb"& from &".talkid = 'gb'" & id &"'_gb'"& from &"' ORDER BY gb"& id &".date DESC;
Pröv lige at skrive SQL'en ud för du eksekverer ;o)
set objRs = Server.CreateObject("ADODB.Recordset")
objRs.Open "SELECT * FROM gb"& from &", gb"& id &" WHERE gb"& id &".talkid = 'gb'"& from &"'_gb'"& id &"' AND gb"& from &".talkid = 'gb'" & id &"'_gb'"& from &"' ORDER BY gb"& id &".date DESC;", Conn, 1, 3
end if
Den kører jeg og får:
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties.
Pröv at skrive den ud. Har nok for mange ' med.
SELECT * FROM gb"& from &", gb"& id &" WHERE gb"& id &".talkid = 'gb"& from &"_gb"& id &"' AND gb"& from &".talkid = 'gb" & id &"_gb"& from &"' ORDER BY gb"& id &".date DESC;
Samme fejl... Skal man bruge JOIN?
JOIN er det samme som vi skriver. WHERE table1.felt = table2.felt
Men pröv at skrive din SQL ud så kan man se hvor fejlen er.
SQLstr="SELECT * FROM gb"& from &", gb"& id &" WHERE gb"& id &".talkid = 'gb"& from &"_gb"& id &"' AND gb"& from &".talkid = 'gb" & id &"_gb"& from &"' ORDER BY gb"& id &".date DESC;"
response.write SQLstr
'objRs.Open SQLstr
SELECT * FROM gb, gb WHERE gb.talkid = 'gb_gb' AND gb.talkid = 'gb_gb' ORDER BY gb.date DESC;
Har skrevet en lille artikel for länge siden:
http://www.eksperten.dk/ (...)
Der kan man jo se at vi ikke får variablerne med ;o)
Du skal have variablerne (id og from) med.
request.querystring eller form
mig dar lige havde glemt noget i testen
SELECT * FROM gb3, gb1 WHERE gb1.talkid = 'gb3_gb1' AND gb3.talkid = 'gb1_gb3' ORDER BY gb1.date DESC;
Hmmmm. Hvad gør jeg... det skal virke...
Er tvunget til at gå nu. Skal til påskefrokost.
Løste sådan:
SQLstr= "(select * from gb" & id & " where talkid = '" & talk & "' ORDER BY date)" & _
" UNION " & _
"(select * from gb" & from & " where talkid = '" & talk & "' ORDER BY date) ORDER BY date;"