Teraz takie pytanie, czy w tabeli jest klika ankiet czy jedna?
Czy odpowiedzi pytań jest zawsze tyle samo, w sensie czy jest możliwość, ze nie wprowadzone zostały odpowiedzi na które respondent nie odpowiedział?
Zawsze pracowałem na tabeli z danymi wyglądającej:
- w kolumnach kolejne pytania: id, respondent_id, pyt1, pyt2 ... pyt200
- wiersze to były kolejne odpowiedzi do danej ankiety
np.
id, respondent_id, pyt1, pyt2 ... pyt200
ankieta 1;1;1;2;1;2
ankieta 2;1;2;2;2;2
Problem był z modelem do ankiety bo dużo zmiennych było, ale łatwo można było wybierać / filtrować dane.
Poczytałem i postanowiłem zmienić tzn. kolumny przenieść w wiersze a wiersze w kolumny, tak jak wyżej napisałem.
Tabela z odpowiedziami wygada teraz, tak:
id; respondent_id; question_symbol; answer
1;1;pyt1;1
2;1,pyt2;2
3;1;pyt3;1
.
.
200;1;pyt200;1
kolejne wiersze to kolejna ankieta
201;2;pyt1;2
202;2,pyt2;1
203;2;pyt3;2
.
.
400;2;pyt200;1
respondent id odwołuje się do tabeli z danymi obiektu badanego
Pytań jest od pyt1 do pyt200 - to jest jedna ankieta.
Tutaj jest problem, tak jak pisałem wybrać ankiety w których pyt1=1 i zliczyć odpowiedzi dla pyt2.
Nie wiem czy prościej nie będzie te pytanie filtrujące pyt1 przenieść do kolumny wtedy można będzie łatwo wybierać czyli:
id; respondent_id; question_symbol; answer, pyt1
1;1,pyt2;2;1
2;1;pyt3;1;1
.
.
200;1;pyt200;1
Tylko problem w tym, jak inne pytanie będzie filtrujące, to wtedy kolejne pytanie przepościć do kolumny ? W pewnym sensie wrócę w końcu do tego co miałem czyli kolejne kolumny to pytania a w wierszach odwiedzi.
Może jest jakiś inny sposób? Wydaje mi się (z tego co czytałem o normalizacji), że każde pytanie filtrujące musi być w kolejne kolumnie ? Czy dobrze rozumiem?
Edit:
zaraz jeszcze przemyślę Twoją drugą odpowiedź bo pytań w każdej ankiecie jest zawsze tyle samo i są po sobie.