sql fel
Postat: 11 jul 2007, 13:23
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?
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?