Avatar billede stigdk Nybegynder
15. april 2006 - 22:21 Der er 29 kommentarer og
1 løsning

Unknown column 'gb3_gb1' in 'where clause'

Jeg får denne fejl når jeg prøver at udføre min SQL

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-4.1.12-standard]Unknown column 'gb3_gb1' in 'where clause'

Min SQL

SELECT COUNT(*) AS records FROM gb1, gb3 WHERE gb1.talkid = gb3_gb1 AND gb3.talkid = gb1_gb3 ORDER BY gb1.date DESC;
Avatar billede michael_stim Ekspert
15. april 2006 - 22:57 #1
Forkert kolonnenavn? Det er i hvert fald  det den brokker sig over.
Avatar billede michael_stim Ekspert
15. april 2006 - 22:59 #2
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;
Avatar billede stigdk Nybegynder
15. april 2006 - 23:12 #3
Det ser ud til at virke... Jeg tester lige noget igennem... BRB
Avatar billede stigdk Nybegynder
16. april 2006 - 10:34 #4
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
Avatar billede michael_stim Ekspert
16. april 2006 - 10:59 #5
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)
Avatar billede stigdk Nybegynder
16. april 2006 - 11:33 #6
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.
Avatar billede stigdk Nybegynder
16. april 2006 - 11:35 #7
glem det end if :D
Avatar billede michael_stim Ekspert
16. april 2006 - 11:37 #8
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;
Avatar billede stigdk Nybegynder
16. april 2006 - 11:39 #9
Samme fejl... Skal man bruge JOIN?
Avatar billede michael_stim Ekspert
16. april 2006 - 11:43 #10
JOIN er det samme som vi skriver. WHERE table1.felt = table2.felt
Avatar billede michael_stim Ekspert
16. april 2006 - 11:44 #11
Men pröv at skrive din SQL ud så kan man se hvor fejlen er.
Avatar billede stigdk Nybegynder
16. april 2006 - 11:45 #12
Ja mente jeg også
Avatar billede stigdk Nybegynder
16. april 2006 - 11:46 #13
HVad mener du? ex?
Avatar billede michael_stim Ekspert
16. april 2006 - 11:49 #14
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
Avatar billede stigdk Nybegynder
16. april 2006 - 11:50 #15
SELECT * FROM gb, gb WHERE gb.talkid = 'gb_gb' AND gb.talkid = 'gb_gb' ORDER BY gb.date DESC;
Avatar billede michael_stim Ekspert
16. april 2006 - 11:50 #16
Har skrevet en lille artikel for länge siden:
http://www.eksperten.dk/artikler/689
Avatar billede michael_stim Ekspert
16. april 2006 - 11:51 #17
Der kan man jo se at vi ikke får variablerne med ;o)
Avatar billede stigdk Nybegynder
16. april 2006 - 11:51 #18
ja... hmm
Avatar billede michael_stim Ekspert
16. april 2006 - 11:52 #19
Du skal have variablerne (id og from) med.
Avatar billede michael_stim Ekspert
16. april 2006 - 11:52 #20
request.querystring eller form
Avatar billede stigdk Nybegynder
16. april 2006 - 11:53 #21
ved jeg, det gør jeg
Avatar billede stigdk Nybegynder
16. april 2006 - 11:54 #22
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;
Avatar billede michael_stim Ekspert
16. april 2006 - 11:55 #23
Den burde fungere.
Avatar billede stigdk Nybegynder
16. april 2006 - 11:56 #24
Ja nemlig...
Avatar billede stigdk Nybegynder
16. april 2006 - 12:15 #25
Hmmmm. Hvad gør jeg... det skal virke...
Avatar billede michael_stim Ekspert
16. april 2006 - 12:23 #26
Avatar billede stigdk Nybegynder
16. april 2006 - 12:25 #27
Hvad er der med den?
Avatar billede michael_stim Ekspert
16. april 2006 - 12:25 #28
Er tvunget til at gå nu. Skal til påskefrokost.
Avatar billede stigdk Nybegynder
16. april 2006 - 12:27 #29
okay ses
Avatar billede stigdk Nybegynder
16. april 2006 - 21:18 #30
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;"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester