# Összehasonlító műveletek és adattípusok a lekérdezésekben

> A meta lekérdezés, az SQL Where és az ismétlő lekérdezés közös beállításai: az összehasonlító műveletek, az adattípusok, a csoportok és az üres dinamikus érték kezelése.

A Lekérdezéskészítő több típusánál ugyanazt a feltételblokkot használod: a bejegyzések, kifejezések, felhasználók, hozzászólások és WooCommerce-termékek **Meta lekérdezés** füle, az SQL-lekérdezés **Where (lekérdezési záradékok)** blokkja és az ismétlő lekérdezés **Lekérdezési argumentumok** blokkja is ilyen. Ez a fejezet egyszer leírja a közös részeket, a típusfejezetek erre hivatkoznak.

Egy feltételt (klauzulát) az **Új hozzáadása** gombbal veszel fel. A lekérdezés az adott mező értékét összeveti a megadott értékkel, és csak a megfelelő elemeket veszi be az eredménybe. Annyi feltételt adhatsz hozzá, amennyi kell.

## Egy feltétel mezői

| Mező | Mit csinál |
|---|---|
| Mező kulcsa/neve | Az a meta mező, oszlop vagy ismétlőmező-kulcs, amelynek az értékét vizsgálod. Dinamikus címkével is megadhatod; a címke haladó beállításaiban környezetet (Context) és tartalék értéket (Fallback) állíthatsz be. |
| Összehasonlítás | Hogyan vesse össze a rendszer a mező értékét a megadott értékkel (lásd lent). |
| Érték | A mezőhöz hasonlított érték. Több értéket vesszővel választasz el, ha a művelet listát vár. Az adatbázis-ikonnal makrót is beszúrhatsz. |
| Típus | Milyen adat van a mezőben (lásd lent). |
| Feltétel neve | Opcionális egyedi név. Ha megadod, a feltétel megjelenik a rendezési lehetőségek között, így eszerint is rendezhetsz (a meta lekérdezéses típusoknál). |

## Az összehasonlító műveletek

| Művelet | Mit ad vissza |
|---|---|
| Egyenlő | Az elemeket, amelyeknek az értéke megegyezik a megadottal. |
| Nem egyenlő | Az elemeket, amelyeknek az értéke más. |
| Nagyobb, mint | A nagyobb értékűeket. Csak számokra működik. |
| Nagyobb vagy egyenlő | A nagyobb vagy egyenlő értékűeket. Csak számokra működik. |
| Kisebb, mint | A kisebb értékűeket. Csak számokra működik. |
| Kisebb vagy egyenlő | A kisebb vagy egyenlő értékűeket. Csak számokra működik. |
| Like | Azokat, amelyeknek az értékében szerepel a megadott érték. |
| Not like | Azokat, amelyeknek az értékében nem szerepel a megadott érték. |
| A listában | Több érték megadása után azokat, amelyeknél legalább az egyik érték megvan. |
| Nincs a listában | Azokat, amelyeknél a megadott értékek egyike sincs meg. |
| Között | Azokat, amelyeknek az értéke a megadott két érték közé esik. |
| Nem között | Mindent, ami a megadott intervallumon kívül van. |
| Létezik | Azokat, amelyeknél a kulcs létezik. Értéket nem kell megadni. |
| Nem létezik | Azokat, amelyeknél a kulcs nem létezik. Értéket nem kell megadni. |
| Regexp | Reguláris kifejezéssel illeszt. Jól használható jelölőnégyzet (Checkbox) vagy választógomb (Radio) típusú meta mező értékeire. |
| Nem regexp | Kizárja azokat, amelyekre a reguláris kifejezés illik. |

## Az adattípusok

A **Típus** mondja meg, hogyan értelmezze a lekérdezés az értékeket. Rossz típusnál a számok betűrendben „rendeződnek”, a dátumok nem hasonlíthatók össze.

| Típus | Mire való |
|---|---|
| Char | Szöveg, a kis- és nagybetűt nem különbözteti meg. |
| Numeric | Egész számok. |
| Date | Dátumok. A forrás meta mezőben be kell kapcsolni az időbélyegként mentés kapcsolót. |
| Datetime | Dátum és idő. Ugyanúgy kell az időbélyegként mentés. |
| Timestamp | Időbélyegként tárolt dátum és idő. Helyi események időzóna szerinti követésére és elemzésekre jó. (Az ismétlő és az SQL-lekérdezésnél van.) |
| Decimal | Törtszámok. |
| Time | Idő. |
| Binary | Kis- és nagybetűre érzékeny összehasonlítás. |
| Signed | Egész számok, pozitívak és negatívak. |
| Unsigned | Csak pozitív egész számok. |

## Üres dinamikus érték kihagyása

Ha az **Érték** mezőhöz dinamikus forrást (például Query Variable, vagy URL-paraméter) választasz, megjelenik az **Exclude this clause from the query if dynamic value is empty** kapcsoló. Bekapcsolva a feltétel kimarad a lekérdezésből, ha a dinamikus érték üres. Ezzel elkerülöd, hogy szűrő nélkül üres vagy váratlan eredményt kapj: szűrő nélkül minden elem látszik. Bekapcsolt állapotnál a Query Variable haladó beállításaiban a tartalék értéket (Fallback) hagyd üresen.

## Csoportok: ÉS/VAGY logika

Az **Új csoport hozzáadása** gomb feltételcsoportot vesz fel. A csoportnál a **Relation** listában az **And** (ÉS) vagy az **Or** (VAGY) kapcsolatot választod. A csoport tartalmát az **Edit group clauses** hivatkozás nyitja meg: a felugró ablakban az **Add new clause** gombbal adsz hozzá feltételeket, a **Close** zárja be. A csoportok egymásba ágyazhatók, így összetett logikát is felépíthetsz. A részletes példa a [csoportos feltételekről szóló fejezetben](https://hub.hellowp.io/hu/plugins/jet-engine/query-builder-csoportos-feltetelek/) van.

Ezt a feltételblokkot használja a bejegyzések, a kifejezések, a felhasználók, a hozzászólások és a WooCommerce-termékek lekérdezése (Meta lekérdezés), az SQL-lekérdezés (Where) és a CCT-lekérdezés (lekérdezési argumentumok).
