webForumDet fria alternativet
Logga in / Bli medlem

En kluring

Databaser & SQL

1 svar · 424 visningar · startad av b3rra

Medlem sedan juli 2004103 inlägg
Frågan#1

Jag har ett problem, Jag har en frågedatabas som jag nu skulle vilja få ut följande resultat ur.

SELECT  AnswerOptionText
FROM Answer A, AnswerOption AO 
WHERE A.answeroptionID=AO.answeroptionID AND A.ActivityID=8 AND A.personID=918 AND A.questionID=6

Problemet är bara att fråga 6 alltid har 3 svar för varje person och jag skulle behöva lista dem var för sig i en subquery.

Värde ett får jag ut genom följande

SELECT TOP 1 answeroptionText
FROM Answer A, AnswerOption AO 
WHERE A.answeroptionID=AO.answeroptionID AND A.ActivityID=8 AND A.personID=918 AND A.questionID=6 
Order by A.answeroptionID

Det sista värdet får jag ut genom

SELECT TOP 1 answeroptionText
FROM Answer A, AnswerOption AO 
WHERE A.answeroptionID=AO.answeroptionID AND A.ActivityID=8 AND A.personID=918 AND A.questionID=6 
Order by A.answeroptionID Desc

Men hur får jag ut det mellersta?

// B3rra

Medlem sedan dec. 20025 483 inlägg
#2
SELECT TOP 1 answeroptionText
FROM Answer A, AnswerOption AO 
WHERE A.answeroptionID=AO.answeroptionID AND A.ActivityID=8 AND A.personID=918 AND A.questionID=6 AND
A.answeroptiondID <>
( SELECT MIN(q.answeroptionID)
    FROM Answer q, AnswerOption w
   WHERE q.answeroptionID=w.answeroptionID AND q.ActivityID=8 AND q.personID=918 AND q.questionID=6 )
Order by A.answeroptionID
271 ms totalt · 4 externa anrop · v20260731065814-full.05830320
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)