我认为这是一个非常简单的问题,但我在这里或通过在线搜索找不到答案。
我正在运行计数查询,但我遇到了值标签和列标题问题
查询
SELECT
mail_code AS "code",
COUNT(mail_code) AS "count"
FROM data.base
GROUP BY mail_code
;
我回来了:
C Count
- -----
Y 110
X 785
Z 92
问题:
mail_code变量的长度是1个字节...这就是为什么只有第一个字母显示为我的varname?
......我最初被警告说,根据我的头衔,它可能会被低估。好的,但我试着在别处寻找答案而找不到它,IE我尝试了尽职调查。
提前谢谢。
答案 0 :(得分:0)
大多数情况下,他们会查找具有外键 - 主键关系的查找表。即在包含code_name
和explanation
列
值为X , phone
; Y, mail
:Z , email
分别为
并使用SQL语句加入它们:
select d.mail_code as "code", c.explanation as "communication type", count(1) as "count"
from data_base d inner join codes c on ( d.mail_code = c.mail_code )
group by d.mail_code, c.explanation;
其中DDL如下所示:
create table codes(mail_code varchar2(1) primary key,explanation varchar2(15));
create table data_base( mail_code varchar2(1) references codes(mail_code));
答案 1 :(得分:0)
谢谢大家,我有大约75%的路程。
语法:
COLUMN mail_code FORMAT A10
SELECT
DECODE (mail_code,
'X', 'mail',
'Y', 'phon',
'Z', 'emai') AS "code",
COUNT(*) AS "count"
FROM data.base
GROUP BY mail_code
;
返回的
code count
---- -----
mail 110
phon 785
emai 92
需要双引号b / c Oracle。它会将名称更改为代码'我引用双引号,但是我可以选择w双引号。
谢谢大家的帮助!