Ich habe nun zwar pro Nation ein Event, aber das nächste in D soll erst in einigen Wochen am 13.08.2019 sein. Das stimmt nicht.
Darf man nur eine Tabelle verwenden?
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# naechstes Event pro Nation
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SELECT
SQL_CALC_FOUND_ROWS
MIN( trm1.tag )
,ort1.*
,trm1.*
,trm1.id TID
,DATE_FORMAT(trm1.tag,'%w') wotag
,DATE_FORMAT(trm1.tag_bis,'%w') wotag_bis
,ort1.land_kz
,ort1.plz
,ort1.name ort_name
,ort1.geo_breite ort_geo_breite
,ort1.geo_laenge ort_geo_laenge
#,ROUND( 6366.0 * ACOS( SIN() *SIN(RADIANS(ort1.geo_breite)) +COS() *COS(RADIANS(ort1.geo_breite)) *COS(RADIANS(ort1.geo_laenge) - ))) distanz_km
,adr1.id VIP
,adr1.firma1
,trp1.id TRP
,trp1.bild_url trp_bild_url -- fuer icon_webcam
,trp1.bild_titel trp_bild_titel
,typ1.id TYP
,typ1.name typ_name
FROM (bia_termine trm1
,bia_orte ort1 )
LEFT JOIN bia_adressen adr1
ON adr1.id = trm1.adress_id
LEFT JOIN bia_treffpunkte trp1
ON trp1.id = trm1.treffpunkt_id
LEFT JOIN bia_termintypen typ1
ON typ1.id = trm1.typ_id
WHERE trm1.owner_id = '1'
AND ort1.id = trm1.ort_id
AND (trm1.gesperrt_bis IS NULL OR trm1.gesperrt_bis <= NOW())
AND trm1.intern_kz = 0
AND (trm1.tag >= '2019-07-01' OR trm1.tag_bis >= '2019-07-01' )
AND (trm1.tag <= '2020-06-30' OR trm1.tag_bis <= '2020-06-30' )
# AND (trm1.tag >= CURDATE() OR trm1.tag_bis >= CURDATE() )
GROUP BY ort1.land_kz
Ein Ausweg wäre vielleicht
MIN( CONCAT( trm1.tag, '|', trm1.id )) tag_id
dann hätte ich die ids zu den gesuchten Terminen. Aber schon seeehr konstruiert.
Linuchs