### Database Schema:
CREATE TABLE location (
	id_restaurant	INTEGER	NOT NULL	PRIMARY KEY,
	street_num	INTEGER	NULL,
	street_name	TEXT	NULL,
	city	TEXT	NULL,
	foreign key (city) references geographic (city),
	foreign key (id_restaurant) references generalinfo (id_restaurant)
);

CREATE TABLE geographic (
	city	TEXT	NOT NULL	PRIMARY KEY,
	county	TEXT	NULL,
	region	TEXT	NULL
);

CREATE TABLE generalinfo (
	id_restaurant	INTEGER	NOT NULL	PRIMARY KEY,
	label	TEXT	NULL,
	food_type	TEXT	NULL,
	city	TEXT	NULL,
	review	REAL	NULL,
	foreign key (city) references geographic (city)
);

### User's Query:
List the restaurant's ID that has a review greater than the 70% of average review of all American restaurants with street number greater than 2000.

### Extra Knowledge:
American restaurant refers to food_type = 'american'; street number greater than 2000 refers to street_num > 2000; review greater than the 70% of average review refers to review > multiply(avg(review), 0.7)
SELECT T1.id_restaurant FROM location AS T1 INNER JOIN generalinfo AS T2 ON T1.id_restaurant = T2.id_restaurant WHERE T2.food_type = 'american' AND T1.street_num > 2000 GROUP BY T1.id_restaurant ORDER BY AVG(T2.review) * 0.7 DESC