FredjeV Geplaatst: 25 februari 2005 Geplaatst: 25 februari 2005 Ik denk dat ik het dan niet begrijp want met deze query alles OK, en zo simple mag het niet zijn toch? SELECT * FROM testtabel WHERE catnr=1 ORDER BY ID, TopNr; Tabel inhoud: ID TopNr Naam CatNr InHoud Datum User TijdTest 8 1 eerste 1 dit is de inhoud van Cat 1 bericht 1 25-2-05 Fred 9 1 tweede 2 dit is de inhoud van Cat 2 bericht 1 25-2-05 kees 10 1 derde 1 dit is de inhoud van Cat 1 bericht 2 26-2-05 johan 11 1 vierde 1 dit is de inhoud van cat 1 bericht 3 Uitvoer ID TopNr Naam CatNr InHoud Datum User TijdTest 8 1 eerste 1 dit is de inhoud van Cat 1 bericht 1 25-2-05 Fred 10 1 derde 1 dit is de inhoud van Cat 1 bericht 2 26-2-05 johan 11 1 vierde 1 dit is de inhoud van cat 1 bericht 3 Geef anders ook ff een tabel inhoud met gewenste uitvoer voorbeeld Fred Rebox RE8500 V2.11.34
DroomDoos Geplaatst: 25 februari 2005 Auteur Geplaatst: 25 februari 2005 -id-topnr-naam-catnr-inhoud-datum-user-reads-tijdtest 5-2-vijfde-1-Test5-2/24/2005 16:03:02-2-0-1109260982 4-1-vierde-1-Test4-2/24/2005 15:25-2-0-1109258718 3-3-derde-1-Test3-2/24/2005 15:58-2-0-1109260686 2-2-tweede-1-Test2-2/13/2005 18:51-2-1-1108320660 1-1-eerste-1-Test1-2/24/2005 15:24-2-0-1109258658 Geeft nu output: 3-3-derde-1-Test3-2/24/2005 15:58-2-0-1109260686 5-2-vijfde-1-Test5-2/24/2005 16:03:02-2-0-1109260982 4-1-vierde-1-Test4-2/24/2005 15:25-2-0-1109258718 Maar hoort te geven: 5-2-vijfde-1-Test5-2/24/2005 16:03:02-2-0-1109260982 3-3-derde-1-Test3-2/24/2005 15:58-2-0-1109260686 4-1-vierde-1-Test4-2/24/2005 15:25-2-0-1109258718 (Let op de datums, hier moet dus op gesorteerd worden, nieuwste bovenaan...) Rob
FredjeV Geplaatst: 25 februari 2005 Geplaatst: 25 februari 2005 Zo dan? De output ID TopNr Naam CatNr InHoud Datum User reads TijdTest 5 2 vijfde 1 test5 24-2-05 16:03:02 2 0 1109258658 3 3 derde 1 test3 24-2-05 15:58:00 2 0 1109260686 4 1 vierde 1 test4 24-2-05 15:25:00 2 1 1108320660 En de Query SELECT First(TestTabel.ID) AS ID, TestTabel.TopNr, First(TestTabel.Naam) AS Naam, TestTabel.CatNr, First(TestTabel.InHoud) AS InHoud, First(TestTabel.Datum) AS Datum, First(TestTabel.User) AS User, First(TestTabel.reads) AS reads, First(TestTabel.TijdTest) AS TijdTest FROM TestTabel GROUP BY TestTabel.TopNr, TestTabel.CatNr HAVING (((TestTabel.CatNr)=1)) ORDER BY First(TestTabel.Datum) DESC; Doordat de order op de datum is moet je de eerste hebben, andere order dan de laatste (Last) Laat maar weer horen. Fred Rebox RE8500 V2.11.34
DroomDoos Geplaatst: 25 februari 2005 Auteur Geplaatst: 25 februari 2005 Hoe formuleer ik dat in ASP? strSQL = "SELECT First(id) AS id, topnr, First(naam) AS naam, catnr, First(inhoud) AS inhoud, First(datum) AS datum, First(user) AS user, First(reads) AS reads, First(tijdtest) AS tijdtest " _ & "FROM topics " _ & "GROUP BY topnr, catnr " _ & "HAVING (((catnr)=1)) " _ & "ORDER BY First(datum) Desc;" Zoiets werkt niet: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [MySQL][ODBC 3.51 Driver][mysqld-3.23.54]You have an error in your SQL syntax near '(id) AS id, topnr, First(naam) AS naam, catnr, First(inhoud) AS inhoud, First(da' at line 1 /testforum/cat.asp, line 73
ottifant Geplaatst: 26 februari 2005 Geplaatst: 26 februari 2005 FredjeV heeft het denk ik wel goed, maar het punt is dat mijn ervaring is dat dergelijke sql vaak niet werkt in ASP.
FredjeV Geplaatst: 26 februari 2005 Geplaatst: 26 februari 2005 Ik zie niet waarom het niet zou werken op ASP. Op ASP.NET heb ik deze ervaring niet. Ik heb alleen geen mysql om het mee te testen alleen SQL-Server. Het lijkt (naar aanleiding van de foutmelding) wel of MySQL het statement First enLast niet kent, OF MySQl kan niet omgaan met de 'gelijke' veldnamen (aggerated fiels met gelijke naam als het eigen field) pas voor de grap de namen eens aan. FredjeV Rebox RE8500 V2.11.34
DroomDoos Geplaatst: 26 februari 2005 Auteur Geplaatst: 26 februari 2005 Ik mail je even wachtwoord en login door van mijn MySQL server zodat je daar wat op kunt testen als je wilt tenminste. Rob
FredjeV Geplaatst: 26 februari 2005 Geplaatst: 26 februari 2005 Ik wil het proberen, maar ik weet meer van SQL af dan van MySQL. Fred Rebox RE8500 V2.11.34
DroomDoos Geplaatst: 27 februari 2005 Auteur Geplaatst: 27 februari 2005 Oeps, gaat niet, de SQL server zit op mijn intranet. Jammer... Dan zoeken we gewoon verder. Toch bedankt jongens. Rob
FredjeV Geplaatst: 27 februari 2005 Geplaatst: 27 februari 2005 Ik heb ff gezocht, last bestaat niet op mysql. Probeer het eens met onderstaande voorbeelden. select c1, c2, c3 from t1 order by c3 desc limit 1 SELECT year, country, product, SUM(profit) FROM sales GROUP BY year, country, product WITH ROLLUP; wellicht hiermee wel resultaat. Fred Rebox RE8500 V2.11.34
ottifant Geplaatst: 27 februari 2005 Geplaatst: 27 februari 2005 Citaat: Ik heb ff gezocht, last bestaat niet op mysql. Dan ligt het dus niet aan ASP zoals ik dacht, maar aan de database die je gebruikt. Weer wat geleerd.
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen