28. april 2005 - 10:46Der er
6 kommentarer og 1 løsning
Hjælp til sql-streng med max og substring
Hejsa!!
Jeg vil gerne høre, om der er en der kan hjælpe mig med at opbygge en sql-streng, til at udtrække flg. data fra en given tabel:
kolonner: id (PK), filnavn, beskrivelse (måske flere senere)
Filnavnene er med fast længde på 24 karakterer samt fil-efternavn.
Karakter 22-24 er et versionsnummer, og jeg vil kun have vist den fil med det nyeste versionsnummer, hvis der er flere ens filer.
Håber nogen kan give et bud på en sådan sql-streng, jeg har forsøgt med 'max(id)' og 'group by substring(filnavn,0,22)' osv. men så kan jeg kun få id'et og ikke filnavn, beskrivelse og evt. andre kolonner med.
hvad siger den når du prøver? det vil måske være nødvendig at cast eller convertere strengen til et tal før du kalder max funktionen Can du lave en select der viser den del af filnavnet du er interesseret i?
An aggregate may not appear in the WHERE clause unless it is in a subquery contained in a HAVING clause or a select list, and the column being aggregated is an outer reference.
Et foreslag hvis du ikke skal lave for meget om i din db nu du selv siger der måske kommer flere kolonner senere...ville jo så være at lave en "version" kolonne
select * from [tab] where subString(filNavn,22,24)=(select max(subString(ny.filNavn,22,24)) from [tab] as ny)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.