db2 - DB2(AS400/i 系列)列值说明
问题描述
我在网上找到了一个查询,它可以帮助我获取所有列名以及列描述,我已将其粘贴在下面。
Select
SYSTEM_TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, varchar(COLUMN_TEXT, 50) As COLUMN_DESC
From QSYS2.syscolumns
WHERE TABLE_NAME = 'xxxxxx' AND SYSTEM_TABLE_SCHEMA = 'yyyyyy'
是否有提供列值描述的查询?我在下面附上了所需的示例输出。[项目代码] 列具有三个值:A、B、C -> 我想要这些值的相应描述。
解决方案
这取决于您的数据结构。SQL 不知道代码值的描述。那是您的数据库中包含的数据。因此,如果您有一个包含代码描述的表,那么您可以通过连接获得它。如果您没有这样的表,那么您将无法获得该信息。这是一个如何为您工作的示例。
create table master (
id integer primary key,
name varchar(128) not null,
code varchar(10) not null);
create table codes (
id varchar(10) primary key,
description varchar(128) not null);
insert into master
values (1, 'test1', 'A'),
(2, 'test2', 'B'),
(3, 'test3', 'C'),
(4, 'test4', 'A'),
(5, 'test5', 'B');
insert into codes
values ('A', 'Code 1'),
('B', 'Code 2'),
('C', 'Code 3');
SELECT master.id, master.name, master.code, codes.description
FROM master
JOIN codes on master.code = codes.id;
|ID|NAME |CODE|DESCRIPTION|
|--|-----|----|-----------|
|1 |test1|A |Code 1 |
|2 |test2|B |Code 2 |
|3 |test3|C |Code 3 |
|4 |test4|A |Code 1 |
|5 |test5|B |Code 2 |
推荐阅读
- mysql - COALESCE mysql 在什么情况下会返回第二个/第三个非空参数?
- firebase - 如何根据开始和结束日期时间过滤包含时间戳的 Firebase 对象列表?
- azure-web-app-service - 我的 Spring Boots 应用程序最终仅使用 github 操作和 azure 加载
- spring-boot - Spring Boot Connection JPA 创建数据库
- python - 尝试使用 python、flask 和 mongodb 预填充下拉菜单
- git - 撤消对远程存储库的更改
- reactjs - react 有标记绑定语法吗?
- django - 无效的 HTTP_HOST 标头:“127.0.0.1:8000”。您可能需要将“127.0.0.1”添加到 ALLOWED_HOSTS
- python - 具有嵌入式和浮点输入的 Keras GRU
- notepad++ - 在记事本++中的不同行中添加或减去值