Fabian Köhler wrote:
Hello,

i have table with answers to questions. Every answer is a column in the table. 
i.e.

id|q1|q2|q3
1|answer1|answer2|answer5
2|answer3|answer4|asnwer6

another option to save it would be sth like this:

id|field|value
1|q1|answer1
1|q2|answer2
1|q3|answer5
2|q1|answer3
...

The last one is not really useable when working with large amounts of data, 
when you want to select i.e. 200 questions with answers it's 200*nof answers 
queries to get them.

Really? Wow, my opinion is that you're trying to do in one table what you should do in two. Have a questions table, and an answers table. The answers table would have a column specifying which question they belong to. i.e.

QUESTIONS
int autoincrement questionID
question

ANSWERS
int autoincrement answerID
int questionID
answer

Then if you want all the answers to a question, you just grab them:

select * from answers where questionID = '100'

Or, you can do a join, and get the question information in the same query.

-Micah
The problem with the first solution is, that MyISAM storage engine is limited 
to 2599 columns i think. So what's happening if i have more answers than 
columns available?

Does anybody have an idea? VIEWs or GROUP_CONCAT doesn't seem to be an option, they are 
all to slow. What's the "right" way to store and select such information?

Thank you very much.

regards,

Fabian

--
Fabian Köhler      http://www.fabiankoehler.de


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to