brwMedlem sedan juli 2000619 inlägg Jag har en tabell där jag sparar nyheter. Tabellen innehåller kolumnerna datum (fullständigt datum med tid), rubrik, text.
Nu skulle jag i en dropdownlist vilja plocka fram distinct från alla datum så att jag får veckonr och kan plocka fram och visa nyheterna utifrån veckonummret.
till exempel 2 st nyheter i vecka 12 då ska det i dropdownnen bli ett val där det står vecka 12 och sen vidare för de veckor där det finns en nyhet... sen när jag valt en vecka så plockar jag fram alla nyheter som var den veckan.
Hur skulle en sådan SELECT-sats kunna se ut.. vet inte hur jag ska lösa med veckonr?
Behöver bara hjälp med SQL-sats för dropdownmenyn... det andra tor jag att jag kan lösa när jag väl får den.
@ndersMedlem sedan juni 200032 969 inlägg Som vanligt är det en bra idé att:
*) Ställa frågor om SQL i SQL-forumet
*) Ange vilken typ av databas man använder.
- - - - - -
Är det access?
SELECT DISTINCT DatePart('ww', datumfältet) FROM tabellen ORDER BY 1
brwMedlem sedan juli 2000619 inlägg Ah sorry..
Nu är det SQLdatabas... så det funkade inte... vad behöver ändras?
Kan jag plocka fram flera tabeller i samma SQLsats trots DISCTINCT?
Kom på att jag även vill ha med året i Dropdownen
typ
2003, vecka 12
2004, vecka 14
2004, vecka 15
sen kan det ju vara bra att skriva in datumena som den veckan innehåller om det är möjligt typ
2004, v 15 (7/12-12/4)
GuffaMedlem sedan juni 2004533 inlägg Om du menar att du vill plocka ut flera fält, så går det bra.
Jag antar att du men "SQLdatabas" menar Microsoft SQL Server? (SQL är ett språk, inte en databas.)
SELECT DISTINCT Year(datumfältet), DatePart(week, datumfältet) FROM tabellen ORDER BY 1, 2
Att visa datumen för veckan är lämpligare att göra i koden än i databasfrågan, datat som finns i databasen går ändå inte att använda till detta.
brwMedlem sedan juli 2000619 inlägg Precis så menar jag men när jag kör den så får jag veckorna rätt fast året blir 1905 på alla.
Hur löser jag det? och hur skulle kod för att ta reda på datumena som veckan har kunna se ut så att jag kan få ut följande:
2005, v 13 (28/3-3/4)
2005, v 14 (4/4-10/4)
2005, v 15 (11/4-17/4)