SQL-从另一个表获取列以加入此查询
下面的代码显示了SQL-从另一个表获取列以加入此查询,sql,Sql,下面的代码显示了location\u id和反社会犯罪总数,但我想从另一个名为location\u dim的表中获得location\u name。我试图找到一种方法来UNIONit,但没能让它工作。有什么想法吗 SELECT fk5_location_id , COUNT(fk3_crime_id) as TOTAL_ANTISOCIAL_CRIMES from CRIME_FACT WHERE fk1_time_id = 3 AND fk3_crime_id = 1 GROUP BY fk
location\u id
和反社会犯罪总数,但我想从另一个名为location\u dim
的表中获得location\u name
。我试图找到一种方法来UNION
it,但没能让它工作。有什么想法吗
SELECT fk5_location_id , COUNT(fk3_crime_id) as TOTAL_ANTISOCIAL_CRIMES
from CRIME_FACT
WHERE fk1_time_id = 3 AND fk3_crime_id = 1
GROUP BY fk5_location_id;
您需要找到两个表之间的关系,以将位置与犯罪联系起来。这样,您就可以使用“联接”并从您感兴趣的每个表中选择字段
我建议退后一步,阅读关系数据库的基础知识。有很多好书,这是一个完美的起点。您想使用
join
查找位置名称。查询可能如下所示:
SELECT ld.location_name, COUNT(cf.fk3_crime_id) as TOTAL_ANTISOCIAL_CRIMES
from CRIME_FACT cf join
LOCATION_DIM ld
on cf.fk5_location_id = ld.location_id
WHERE cf.fk1_time_id = 3 AND cf.fk3_crime_id = 1
GROUP BY ld.location_name;
您需要为ld.location\u name
和ld.location\u id
输入正确的列名