Az alábbi problémám van:
Szeretnék egy select queryt aminek az egyik feltétele az lenne, hogy egy adott dátum egy oszlop min és max értékei közé essen így:
SELECT MIN(t1.bekuldesidopont) as bejelentkezes, MAX(t1.bekuldesidopont) as kijelentkezes, FROM `tabla1` as t1 LEFT OUTER JOIN tabl2 as t2 ON t1.id=t2.id WHERE '2022-03-12 16:00:00' BETWEEN MIN(l.bekuldesidopont) AND MAX(l.bekuldesidopont) GROUP BY t1.id;
Erre #1111 hibát kapok, érvénytelen group használat miatt.
Ha kitörlöm a group utasítást érdekes módon akkor is.
Ha min max függvények nélkül futtatom a between parancsot, úgy lefut.
Ez mi lenne ?
WHERE '2022-03-12 16:00:00' BETWEEN MIN(l.bekuldesidopont) AND MAX(l.bekuldesidopont)
Ez a szintaxisa a betweennek:
WHERE column_name BETWEEN value1 AND value2;
Illetve <expression> BETWEEN <expression> AND <expression>
De itt nem lehet aggregátumfüggvény (MIN, MAX, AVG stb)
@OP és mit jelképez a 'l'? t1 van meg t2
Talán valamilyen nested select kellene?
SELECT t1.id,t2.min_ido,t2.max_ido
FROM
table t1,
(SELECT MIN(idopont) min_ido,MAX(idopont) max_ido
FROM table tn WHERE tn.id=t1.id) t2
WHERE
valami BETWEEN t2.min_ido AND t2.max_ido;
Pillanatnyilag valami l.bekuldesidopont-ra hivatkozol, de l táblád nincs jelölve. A t2-t úgy kacsolod, hogy utána nem használod semmire. Aggregátor függvények értékére ahogy írták, csak a Having részben van lehetőség, feltételt adnid, de szerintem te nem arra gondoltál.