webForumDet fria alternativet

Konvertera pollen till MySQL

ASP

8 svar · 204 visningar · startad av joup

Medlem sedan feb. 2002116 inlägg
Frågan#1

Hittade ett jättefint poll-script här på Webforum, i scriptarkivet. Tyvärr så var det kodat för Access, så jag håller på att försöka konvertera det till MySQL. Har dock stött på ett litet problem.

SQLResult = "Select Count(Result.ID) as Antal, Questions.Question, Questions.ID	From Result, Questions " & _
"Where Result.PollID = '" & RSMainQuestion("ID") & "' And Result.QuestionID = Questions.ID " & _
"Group By Questions.Question, Questions.ID " & _
"UNION " & _
"Select 0 as Antal, Questions.Question, Questions.ID From Questions " & _
"Where Questions.PollID = '" & RSMainQuestion("ID") & "' And Questions.ID Not In (Select QuestionID From Result Where PollID = '" & RSMainQuestion("ID") & "') " & _
"Group By Questions.Question, Questions.ID " & _
"Order By Questions.ID Asc"

RS.Open SQLResult, Connection, 3, 1

Ovanstående SQL-sats fungerar utmärkt med Access, men i MySQL så får jag felmeddelandet

Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC-drivrutinen stöder inte de begärda egenskaperna.
/Poll/Resultat2.asp, line 68

Vad är det som inte MySQL klarar av?

Medlem sedan feb. 20022 594 inlägg
#2

Subselecten skulle jag tippa på.

Medlem sedan feb. 2002116 inlägg
#3

Hmm, ja, det kan nog stämma. Har du något förslag hur man kan ersätta den med något som fungerar i MySQL?

Medlem sedan feb. 20022 594 inlägg
#4

Detta kanske kan funka:

SQLResult = "Select Count(Result.ID) as Antal, Questions.Question, Questions.ID	From Result, Questions " & _
"Where Result.PollID = '" & RSMainQuestion("ID") & "' And Result.QuestionID = Questions.ID " & _
"Group By Questions.Question, Questions.ID " & _
"UNION " & _
"Select 0 as Antal, Questions.Question, Questions.ID From Questions " & _
"Where Questions.PollID = '" & RSMainQuestion("ID") & "' And Questions.ID NOT = Result.QuestionID " & _
"Group By Questions.Question, Questions.ID " & _
"Order By Questions.ID Asc"

RS.Open SQLResult, Connection, 3, 1
Medlem sedan feb. 2002116 inlägg
#5

Nix, samma fel.

Läste dock i MySQL-manualen att man endast kan köra UNION på MySQL-databaser som är av typen MERGE. Vad menas med det?

Medlem sedan dec. 200012 464 inlägg
#6
SQLResult = "Select Count(Result.ID) as Antal, Questions.Question, Questions.ID	"
" From Questions left outer join Result " & _
" on questions.id = result.questionid  " & _
" and  Result.PollID = '" & RSMainQuestion("ID") & "'" & _
" Group By Questions.Question, Questions.ID " & _
" Order By Questions.ID "
Medlem sedan feb. 2002116 inlägg
#7

Får fortfarande samma fel

"ODBC-drivrutinen stöder inte de begärda egenskaperna."

Medlem sedan dec. 200012 464 inlägg
#8

Det har ingenting med sql-frågan att göra.

set RS = connection.execute(SQLResult)

MyODBC är inte så kapabel som man kan önska.

Medlem sedan feb. 2002116 inlägg
#9

Nä, får det inte att fungera. Det är nåt som är fel, och jag är ingen mästare på SQL, så jag fattar inte.

Nåja, om någon skulle få för sig att konvetera pollen

http://www.webforum.nu/showthread.php?s=&threadid=37470

till MySQL så kan ni väl hojta till...

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)