SELECT * FROM zakaznik WHERE id_z IN (
SELECT id_z FROM rezervace
LEFT JOIN lod ON lod.id_l=rezervace.id_l
GROUP BY id_z, barva
HAVING barva='zelena' AND COUNT(*)=(SELECT COUNT(*) FROM lod WHERE barva='zelena')
)
SELECT * FROM zakaznik WHERE id_z IN (
SELECT id_z FROM rezervace
LEFT JOIN lod ON lod.id_l=rezervace.id_l
GROUP BY id_z, barva
HAVING barva='zelena' AND COUNT(*)=(SELECT COUNT(*) FROM lod WHERE barva='zelena')
)