Overpass QL: search area composed by unioning multiple areas?

Using Overpass QL, I want to search for objects within a contiguous area composed of multiple adjacent areas. Specifically, I want to search within the “central city” of Sacramento, CA, but in OSM there is no single area representing the central city (since it is not an official designation). However, there are multiple neighborhoods represented as place=quarter that, if unioned, together represent the central city.

Unfortunately, I can’t come up with a syntactically correct query:

[timeout:800];
(
  (area;1170990297); /* marshall school */
  (area;1170990296); /* midtown */
  (area:1170990301); /* New Era Park */
  (area:1170990298); /* Boulevard Park */
  (area:1170990302); /* Mansion Flats */
  (area:1170990303); /* Alkali Flat */
  (area:1170990299); /* Downtown */
  (area:1170990295); /* Southside Park */
  (area:1170990294); /* Richmond Grove */
  (area:1170990293); /* Newton Booth */
) -> .central_city;
(
  relation["amenity"="parking"](area.central_city);
  node["amenity"="parking"](area.central_city);
  way["amenity"="parking"](area.central_city);
) -> .parking; 
.parking out center;

Is it possible to union multiple search areas in this way?

I am not an expert on the subject, maybe something like this?

[timeout:32];

area(id:1170990293,1170990294,1170990295,1170990299,1170990303,1170990302,1170990298,1170990301,1170990296,1170990297)->.searchArea;

nwr["amenity"="parking"](area.searchArea);

out center;

The objects you refer to in the top query are OSM ways. In this query, you should refer to ways and not areas. An yes, you can union these queries. Then the instruction map_to_area will convert this set of ways to an Overpass .central_city area.

The query below extracts 2 nodes, 669 ways and 1 relation :

  [timeout:100];
  (
    way(1170990297); /* marshall school */
    way(1170990296); /* midtown */
    way(1170990301); /* New Era Park */
    way(1170990298); /* Boulevard Park */
    way(1170990302); /* Mansion Flats */
    way(1170990303); /* Alkali Flat */
    way(1170990299); /* Downtown */
    way(1170990295); /* Southside Park */
    way(1170990294); /* Richmond Grove */
    way(1170990293); /* Newton Booth */
  );
  map_to_area -> .central_city; /* midtown */
  (
    relation["amenity"="parking"](area.central_city);
    node["amenity"="parking"](area.central_city);
    way["amenity"="parking"](area.central_city);
  ) -> .parking; 
  .parking out center;

Revising aTarom Short instructions version, we can query :


[timeout:100];  

way(id:1170990293,1170990294,1170990295,1170990299,1170990303,1170990302,1170990298,1170990301,1170990296,1170990297);

map_to_area -> .central_city; /* midtown */

nwr["amenity"="parking"](area.central_city) -> .parking; 
.parking out center;

Taking @aTarom & @PierZen’s code further, the closed ways are already areas & the users sets are unnecessary.

way(id:1170990293,1170990294,1170990295,1170990299,1170990303,1170990302,1170990298,1170990301,1170990296,1170990297);
nwr["amenity"="parking"](area); 
out center;