Haha, ich hatte um kurz nach 14Uhr schon fix was aufgeschrieben, aber mich dann gewundert dass eine völlig andere Anzahl am Ergebnis rauskommt.
Jetzt erst realisiert, dass du ja je Gebiet/BBox ja völlig andere Objekte abfragst ^^
Also eine gute Variante wäre erstmal die Gebiete zu definieren und dann mit einem Union halt die Objekte darin raussuchen: http://overpass-turbo.eu/s/10WK
[out:json][timeout:25];
// Bereiche definieren, bzw. erstmal alle Objekte je Bereich speichern
node(53.60263523333334,9.891993379333329,53.60589356666667,9.895251712666663) -> .elbgau;
node(53.55926553333333,9.963177765877191,53.562523866666666,9.966436099210526) -> .sternschanze;
// Union über die Ergebnisse
(
// in der "elbgau"-Objekten nach den gewünschten suchen:
node.elbgau["shop"="supermarket"];
node.elbgau["amenity"="fast_food"];
// in den "sternschanze"-Objekten nach den gewünschten suchen:
node.sternschanze["amenity"~"^(bar|cafe)$"];
) -> .result;
// und Ergebnis ausspucken:
.result out geom;
Sprich in beiden Gebeiten, alles gesucht, da kam natürlich mehr raus. Ich schreibs nur mit dazu, weil’s so ein Weg ist, wie man zwei oder mehrere Suchgebiete als BBox zusammenfassen kann.
Im Grundegenommen definiert man aber nicht mehrere Suchgebiete, sondern sucht wertelos in allen Suchgebieten zunächst alle Nodes raus und sucht dann in diesen später genauer.
Eine/Mehrere BBox in einer Variable als Area zusammenzufassen geht meines Erachtens nach nicht.