Megosztás:


Feltételek egyesítése, ha az OR elsőbbséget élvez (Visual Database Tools)

A következőkre vonatkozik:SQL Server

Ha a feltételeket összekapcsolni szeretné a feltételekkel OR , és elsőbbséget szeretne adni nekik a kapcsolódó feltételekkel ANDszemben, meg kell ismételnie az AND egyes OR feltételek feltételét.

Tegyük fel például, hogy minden olyan alkalmazottat meg szeretne találni, aki több mint öt éve dolgozik a vállalatnál, és alacsonyabb szintű állásokkal rendelkezik, vagy ki vannak vonulva. Ez a lekérdezés három feltételt igényel, egyetlen feltételt két további feltételhez csatolva a következőkkel AND:

  • Azok az alkalmazottak, akiket több mint öt évvel ezelőtt vettek fel, és

  • 100 állási szinttel rendelkező vagy "R" (nyugdíjas) állapotú alkalmazottak.

Az alábbi eljárás bemutatja, hogyan hozhat létre ilyen típusú lekérdezést a Feltételek panelen.

Feltételek egyesítése, ha az OR elsőbbséget élvez

  1. A Feltételek panelen (Visual Database Tools) adja hozzá a keresni kívánt adatoszlopokat. Ha ugyanazt az oszlopot két vagy több feltétellel ANDszeretné keresni, akkor minden keresendő értékhez egyszer hozzá kell adnia az adatoszlop nevét a rácshoz.

  2. Hozza létre a csatolandó OR feltételeket úgy, hogy az elsőt beírja a Szűrőrács oszlopba, a másodikat (és az azt követőket) pedig külön Or... oszlopba. Ha például olyan feltételeket OR szeretne összekapcsolni, amelyek keresik az és status az job_lvl oszlopokat, írja be = 100 a Szűrő oszlopba job_lvl= 'R' az Or... oszlopot a következőhözstatus: .

    Ha ezeket az értékeket beírja a rácsba, az alábbi WHERE záradékot hozza létre az SQL-panelen lévő utasításban:

    WHERE (job_lvl = 100) OR (status = 'R')
    
  3. A feltételt úgy AND hozhatja létre, hogy minden feltételhez OR egyszer beírja. Helyezze az egyes bejegyzéseket ugyanabba a rácsoszlopba, mint a OR feltétel, amelyhez megfelel. Ha például olyan feltételt AND szeretne hozzáadni, amely az hire_date oszlopban keres, és mindkét OR feltételre vonatkozik, adja meg < '1/1/91' a Feltétel oszlopot és az Or... oszlopot is.

    Ha ezeket az értékeket beírja a rácsba, az alábbi WHERE záradékot hozza létre az SQL-panelen lévő utasításban:

    WHERE (job_lvl = 100) AND
      (hire_date < '01/01/91') OR
      (status = 'R') AND
      (hire_date < '01/01/91')
    

    Borravaló

    Egy feltételt AND megismételhet, ha egyszer hozzáadja, majd a Szerkesztés menü Kivágás és beillesztés parancsaival megismétli azt más OR feltételek esetén.

A WHERE Lekérdezés- és nézettervező által létrehozott záradék egyenértékű a következő WHERE záradékkal, amely zárójelekkel határozza meg a fölérendeltség ANDsorrendjétOR:

WHERE (job_lvl = 100 OR status = 'R') AND
   (hire_date < '01/01/91')

Jegyzet

Ha a keresési feltételeket az SQL-panelen (Visual Database Tools) közvetlenül fent látható formátumban adja meg, de a Diagram vagy a Feltételek panelen módosítja a lekérdezést, a Lekérdezés és a Nézettervező újra létrehozza az SQL-utasítást, hogy megfeleljen az űrlapnak a AND mindkét OR feltételhez explicit módon elosztott feltételnek.