Avatar billede thepsypher Nybegynder
25. oktober 2007 - 06:40 Der er 1 kommentar og
1 løsning

"avanceret" SELECT statement

Hejsa, jeg er nybegynder til MS SQL (og også rimelig nybegynder til SQL generelt). Bemærk at jeg bruger andre navne i mit eksempel, men min analogi passer præcis.

Har en SELECT statement, hvor jeg skal hive alle de rækker ud hvor foreningsnummeret er = kundens og hvor startdato er mindre en nuværende dato og hvor slutdato er "større" end nuværende dato.

Det har jeg bikset sammen (og det virker):

"SELECT * FROM Afstemninger WHERE Foreningsnummer=" + Session["Foreningsnummer"] + " AND Startdato <= GETDATE() AND Slutdato >= GETDATE()"

Men den skal kun medtage de rækker hvor brugeren ikke allerede har "stemt" i tabellen "stemmer".
Så den skal ikke medtage dem hvor Stemmer.ForeningsID = Session["Foreningsnummer"] og Stemmer.UserID = Session["AktuelBruger"]!

Så i pseudo kode:
SELECT afstemninger hvor foreningsnummeret er rigtigt og den ligger indenfor tidsintervallet (men fratag rækken hvis der eksisterer en stemme, hvis stemmeID og ForeningsID er = dem fra afstemninger!

Håber nogen forstår det, lidt kluntet beskrevet, men det er skam også tidligt! ;-)

Hilsen Psypher
Avatar billede pierrehusted Nybegynder
25. oktober 2007 - 07:49 #1
SELECT * FROM Afstemninger WHERE Foreningsnummer=" + Session["Foreningsnummer"] + " AND Startdato <= GETDATE() AND Slutdato >= GETDATE()
and Foreningsnummer not in (Select stemmeID From StemmeTabel Where Stemmer.UserID = Session["AktuelBruger"])

(Skal nok lige tilpasses med tabelnavn og variabelnavne.)
Avatar billede thepsypher Nybegynder
26. oktober 2007 - 01:48 #2
Ahhh, ok....jeg var tæt på, men det var lige MSSQL´s præcise syntaks....takker! :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester