# Csoportos feltételek (group clauses) a lekérdezési argumentumokban

> Egymásba ágyazott ÉS/VAGY logika a meta lekérdezésben: példa kiemelt állásokra fizetési sáv szerint, és a JetSmartFilters-kompatibilitás.

A Lekérdezéskészítő **csoportos feltételeket** (group clauses) is támogat, amellyel összetett, egymásba ágyazott ÉS/VAGY logikát építhetsz a lekérdezési argumentumok közé. Ez haladó szűréshez kell, például egyéni mezők kombinálásához egyéni bejegyzéstípusokban, egyéni tartalomtípusokban és SQL-lekérdezésekben.

Jelenleg itt használható:

- a **Bejegyzések lekérdezése** típus **Meta lekérdezés** füle;
- a **Felhasználók lekérdezése** típus **Meta lekérdezés** füle;
- a **Kifejezések lekérdezése** típus **Meta lekérdezés** füle;
- a **Hozzászólás-lekérdezés** típus **Meta lekérdezés** füle;
- az **SQL/AI lekérdezés** típus **Where (lekérdezési záradékok)** blokkja;
- az **Egyéni tartalomtípus-lekérdezés** típus lekérdezési argumentumai (Query Args).

A helyi felületen a **Meta lekérdezés** fülön két gomb van: az **Új feltétel hozzáadása** és az **Új csoport hozzáadása**.

![A Meta lekérdezés fül az Új feltétel és Új csoport hozzáadása gombbal](./kepek/query-builder-meta-lekerdezes.webp)

*A Meta lekérdezés fül az Új feltétel és Új csoport hozzáadása gombbal* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-query&query_action=add)

## Példa: kiemelt állások fizetési sáv szerint

A cél: az olyan állásokat mutasd, amelyek „kiemelt” jelölésűek, és a fizetésük kisebb 2000-nél vagy nagyobb 3000-nél. Ehhez a VAGY feltételt csoportba kell tenni.

1. A **JetEngine → Lekérdezéskészítő → Új hozzáadása** oldalon a nevet add meg (például „Kiemelt állások fizetési sáv szerint”), a típus maradjon **Bejegyzések lekérdezése**.
2. Az **Általános** fülön a bejegyzéstípus legyen az állások típusa.
3. A **Meta lekérdezés** fülön kattints az **Új feltétel hozzáadása** gombra. A **Field key/name** legyen `featured` (Switcher típusú meta mező), a **Compare** „Equal (=)”, a **Value** `true`.
4. Kattints az **Új csoport hozzáadása** gombra, és válaszd a **Or** relációt.
5. Az **Edit group clauses** hivatkozásra kattintva felugró ablak nyílik. Itt az **Új feltétel hozzáadása** gombbal vedd fel az első feltételt: **Field key/name** `salary_` (a Number típusú fizetés-mező), **Compare** „Less than (<)”, **Value** `2000`, **Type** „Numeric”.
6. Másold a sort, és az új sorban a **Compare** legyen „Greater than (>)”, a **Value** `3000`.
7. Zárd be az ablakot, és kattints a **Lekérdezés hozzáadása/frissítése** gombra.

A mentés előtt kapcsold be az **Eredmények előnézete** kapcsolót, és ellenőrizd az eredményt.

## Kompatibilitás a szűrőkkel

A JetSmartFilters-szel a legtöbb szokásos mezőn gond nélkül működik. Ha viszont a szűrő ugyanazt a meta mezőt célozza, amelyik már szerepel egy csoportos feltételben, az eredmény nem biztos, hogy a várt lesz. Ilyenkor:

1. a szűrő a **Plain Query Variable** makróval adja át az értékét;
2. a Lekérdezéskészítőben a **JetSmartFilters Query** makróval szúrd be a szűrt értéket a megfelelő csoportos feltételbe.

Így a szűrő csak a lekérdezési logika azon részét befolyásolja, ahol szükséges.
