我认为这是一个非常简单的问题,但我在这里或通过在线搜索找不到答案。
我正在运行计数查询,并且在使用值标签和列标题时遇到问题
查询是
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我尝试了尽职调查。
先感谢您。
大多数情况下,他们会保留一个具有外键 - 主键关系的查找表。即用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));
谢谢大家,我有大约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
Oracle需要双引号b / c Oracle。它可以将名称改为'代码'和双引号,但随着所有大写字母(CODE)的出现,我可以选择w双引号。
谢谢大家对此的帮助!