sql - 通过与区域表连接从 Loc_hist 表中获取每个分区的记录

标签 sql oracle11g

我有 2 个表,分别称为 area 和 loc_hist。

在 area 表中存在分区列表,在 loc_hist 中分区与其他 3 个数字组合并提供其他详细信息。 输入

面积

div div_name 
11    ATALANTA 
14    Columbo  

位置历史

Item Loc  
0012 11378 
0013 11378 
0014 11378 
0015 14425 

这里的 Loc 是(div 的前 2 位数字+其他列的后 3 位数字)。

输出

Div Count(records)
11   3
14   1

所以这里我的问题是如何从每个部门的 loc_hist 表中获取记录? 提前致谢

最佳答案

这就是你在 T-SQL 中的做法

create table #area (div int, div_name nvarchar(20))
create table #Loc_hist (item nvarchar(10), Loc int)

insert into #area (div, div_name)
values
(11, 'ATALANTA'),
(14, 'Columbo')

insert into #loc_hist (Item, Loc)
values
('0012', 11378), 
('0013', 11378), 
('0014', 11378),
('0015', 14425) 

select ar.div, count(*) from #loc_hist lh
   join #area ar on LEFT(lh.loc,2) = ar.div
group by ar.div

关于sql - 通过与区域表连接从 Loc_hist 表中获取每个分区的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34740046/

相关文章:

sql - ORA-01873 : the leading precision

sql - 事务内部的 SELECT 语句与事务外部的 SELECT 语句之间有区别吗?

java - 用于sql分析的正则表达式

java - Java SQLite数据库连接问题

mysql - 如何在 MySQL EDITED 中隐藏别名列

oracle - 禁用与丢弃约束

mysql - 我有一个在 SQL 数据库中查找重复项的查询 - 现在如何删除所述重复项?

datetime - 在oracle中获取以毫秒为单位的日期差异

sql - 1,2 指令有什么作用

oracle - 如何在 mac 中使用 oracle sql developer 获取查询结果的 GridView ?