内部联接和求和的SQL查询(SQLite3)
我有两个带有模式的表内部联接和求和的SQL查询(SQLite3),sql,sqlite,Sql,Sqlite,我有两个带有模式的表 CREATE TABLE City ( City CHAR, Area INT ) CREATE TABLE Revenue ( Municipality CHAR, City_Code CHAR, [Road tax] INT, [Water Tax] INT, [Entertainment Tax] INT )
CREATE TABLE City
(
City CHAR,
Area INT
)
CREATE TABLE Revenue
(
Municipality CHAR,
City_Code CHAR,
[Road tax] INT,
[Water Tax] INT,
[Entertainment Tax] INT
)
我需要按面积降序排列前三名城市,同时打印该城市所得税总额。沿着(例如)路线的东西:
表City中的城市字段和表Revenue中的城市代码字段需要标识表之间的城市。您的模式没有意义。两个表中都应该有一个公用键,这样就可以通过连接
CITY\u code
列从CITY
表中获取CITY
名称。我在下面的查询中做了这个假设
SELECT B.CITY, (A.ROAD_TAX + A.WATER_TAX + A.ENTERTAINMENT_TAX) AS TOTAL_TAX
FROM
REVENUE A
INNER JOIN
CITY B
ON A.CITY_CODE = B.CITY_CODE
ORDER BY (A.ROAD_TAX + A.WATER_TAX + A.ENTERTAINMENT_TAX) DESC
LIMIT 3;
请尝试以下代码:
SELECT C.City,(R.[Road tax]+R.[Water Tax]+R.[Entertainment Tax])[Total Tax]
FROM City C
JOIN Revenue R ON R.CityCode=C.City
ORDER BY C.Area DESC
LIMIT 3;
提示:
加入
<代码>分组依据。请尝试我的代码,这可能会对您有所帮助。
SELECT C.City,(R.[Road tax]+R.[Water Tax]+R.[Entertainment Tax])[Total Tax]
FROM City C
JOIN Revenue R ON R.CityCode=C.City
ORDER BY C.Area DESC
LIMIT 3;