Avatar billede eyesonly Nybegynder
08. januar 2005 - 15:07 Der er 4 kommentarer og
1 løsning

SQL sætning med OR?

Hej jeg er ved at arbejde med en database og jeg har brug for et udtræk hvor der indgår en OR sætning...er følgende korrekt, eller hvordan skal det skrives hvis det skal være korrekt?

Public static String[] UpdateAssignments( int currentMonth, int currentYear )
{
  string sql = "SELECT * FROM collection" +
              ”WHERE assignedtoyear < ” + currentYear +
              ” OR WHERE assignedtoyear = ” + currentYear + ” AND ” +
              ”assignedtomonth < ” + currentMonth;

              ...kode udeladt...
}

Det skal forstås sådan:
Hent alt fra collection (hvis assignedtoyear < current year) ELLER
(hvis assignedtoyear = currentYear OG assignedtomonth < currentMonth)
de to sætninger i parantes skal kunne være sande hver for sig, så hvis bare en af paranteserne er sande skal jeg have udtrækket!
Avatar billede erikjacobsen Ekspert
08. januar 2005 - 15:10 #1
Du skal nok have en parentes, og kun en WHERE:

string sql = "SELECT * FROM collection " +
              ”WHERE (assignedtoyear < ” + currentYear +
              ” OR assignedtoyear = ” + currentYear + ”) AND ” +
              ”assignedtomonth < ” + currentMonth;
Avatar billede eyesonly Nybegynder
08. januar 2005 - 15:13 #2
skal parantesen ikke sættes sådan:

string sql = "SELECT * FROM collection " +
              ”WHERE (assignedtoyear < ” + currentYear +
              ”) OR (assignedtoyear = ” + currentYear + ” AND ” +
              ”assignedtomonth < ” + currentMonth + ")";

jeg vil jo gerne at begge sider af OR er een sætning for sig?
Avatar billede eyesonly Nybegynder
08. januar 2005 - 15:24 #3
Jeg ville gerne om du lige ville kommentere ovenstående og så lægge et svar så du kan få dine point.

Tak for hjælpen!
Avatar billede gammelhat Nybegynder
08. januar 2005 - 16:27 #4
eyes, dine parenteser er placeret korrekt. Dog kan de udelades her, da and har højere prioritet end or
Avatar billede eyesonly Nybegynder
27. maj 2005 - 14:35 #5
der kom aldrig et svar så jeg tager ponitene igen...tak for hjælpen ellers!
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