Sida 1 av 1

sql fel

Postat: 11 jul 2007, 13:23
av jabbadoo
tänk dig att kolumn p har ett id av den första posten i ett forum t.ex.

id t                          p
1  starten                1
2  och svar på den    1
3  ännu ett              1
4  en ny                  4
5  och svaret på den  4

nu vill jag få tag på den första och den sista posten i varje forumsgrupp (p)

select *, (select t as latest from test where id in (select max(id) from test group by p)) from test group by p

grejen är alltså att hitta den med högst id i test per p (forumgrupp) och för alla svar man får där väljer man t (texten) från test utifrån id:ena

MySQL tycker dock inte om att man får flera resultat i en subquery, och errorar... kan man göra det på någe annat sätt i en query?

SV: sql fel

Postat: 11 jul 2007, 17:40
av jabbadoo
jag kom på det sj...

select *, (select t from test where id=(select max(t2.id) from test t2 where t1.p=t2.p)) as latest from test t1 where t1.id=t1.p