webForumDet fria alternativet

Svår fråga

4 svar · 302 visningar · startad av Sunix

SunixMedlem sedan juli 2004310 inlägg
#1

Hej!

Jag har ett dilemma som jag behöver hjälp med!
Jag har skapat en enkät och funderade på 2 olika strukturer.
Exempel struktur 1:

Kön		Ålder		vad tycker du?
Man		25			Bra
Man		29			Bra
Kvinna	          30			Bra

Exempel struktur 2:

Fraganr		        Svar		        datum	unikIdFörHelaEnketsvaretFörDennaDeltagare
1			Man			....		1
2			29			....		1
3			Bra			....		1
1			Kvinna		         ....		2
2			30			....		2
3			Bra			....		2

osv

I första exemplet är det lätt att söka upp alla män och kolla hur de svarade på ålder men i exempel 2 är det svårare. Jag antar att man använder sig av nån slags 'in select' eller nåt.
Självklart finnes id med i båda strukturerna

Hjälp

cyprysMedlem sedan dec. 20003 563 inlägg
#2

Kör på första förslaget du. Ser ingen anledning att krångla till det.
Jag antar att varje svar kräver ett kön, ålder, datum, svar. Det kommer alltså inte skapas några nullvärden eller likn.

En metod för att spara utrymmer är möjligtvis att låta kön representeras av en bit (0|1) och koppla till texten Man|Kvinna. Samma metod kanske funkar mot själva svaret om det alltid är enligt samma skala 0-5.

Men kommer du inte få väldigt många svar spelar det nog ingen större roll.

SunixMedlem sedan juli 2004310 inlägg
#3

Hej! Jag har redan kört på förslag 2!
Detta p.g.a. att det blev enklare att med ett grafiskt gränssnitt ändra på frågorna.

I förslag 1 måste jag i så fall ändra på kolumnrubikerna/fältnamnen i DB.
I förslag 2 räcker det med att ändra en post med en fråga i

Jag vill kunna sortera ut vad alla män har svarat men skriver jag 'select * from enkät where svar = man' så får jag bara ut dessa svar på fråga 1.

Jag skulle kunna 'select * from svar where svar = man'
och sedan använda det unika ID för att hämta resten av datat men det måste gå med en in Select sats på något vis men hur?

cyprysMedlem sedan dec. 20003 563 inlägg
#4

Mitt tips är att byta tillbaka.

select * from tbl where unikId IN (
  select unikId from tbl where Svar = 'Man'
  )
SunixMedlem sedan juli 2004310 inlägg
#5

Varför byta tillbaka? Om man vill lägga till en fråga så måste man ändra i tabelllayouten?!
Jag ska testa denna inselectsats! tack!

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)