好的,我有一个问题有点复杂,无法解释和理解:
我有一个postgreSQL数据库,其中包含带有列的表,我想添加关于每列的一些信息,所以我创建了一个"服务表"看起来像这样:
+---------------+-----------+--------------------+----------+----------+
| ColumnName | ucd | utype | datatype | table |
+---------------+-----------+--------------------+----------+----------+
| ident | ucd:ident | utype:EntityId | char | Entity |
| label | ucd:label | utype:EntityLabel | char | Entity |
| level | ucd:level | utype:EntityLevel | int | Entity |
| idAct | ucd:Acti | utype:ActivityId | char | Activity |
| label | ucd:label | utype:ActivityLb | char | Activity |
| ... | ... | ... | ... | ... |
+---------------+-----------+--------------------+----------+----------+
utype和ucd列是唯一的
我的问题是:
我在我的数据库上发出请求。
例子:从实体中选择*:
结果:
+-------+---------+-------+
| ident | label | level |
+-------+---------+-------+
| 1 | Entity1 | 1 |
| 2 | Entity2 | 2 |
| 3 | Entity3 | 2 |
+-------+---------+-------+
我还希望在我的查询中恢复有关我的列的所有信息:
这样的事情:
标识: ucd = ucd:ident,utype = utype:EnetityId,datatype = char
标签: ucd = ucd:label,utype = utype:EntityLabel,datatype = char
等级: ucd = ucd:level,utype = utype:EntityLevel,datatype = int
我知道如何获取查询结果的所有列名称,但我不知道如何获取有关它们的所有信息:
我有:
Select * from servicetable
where columnName = 'queryColumnName'
但是columnName在服务表中不是唯一的,所以它可能会返回多行。
我希望你能理解我的问题。谢谢
答案 0 :(得分:1)
我真的不明白,但我会尝试帮助。
1)您已经在postgresql上有关于表和列的一些信息。例如:
SELECT *
FROM information_schema.columns
WHERE table_schema = 'your_schema'
AND table_name = 'your_table';
2)为什么不再添加一个像“AND table ='Entity'”的过滤器?
尝试详细解释您的问题。