Sql 如何在DB2中从列中获取表名?

Sql 如何在DB2中从列中获取表名?,sql,db2,tablename,columnname,Sql,Db2,Tablename,Columnname,我需要DB2SQL查询从列名中查找表。我有列名,但没有此列所属的表名。选择TBNAME select TBNAME from sysibm.syscolumns where NAME = '<column name>' 从sysibm.syscolumns 其中NAME='' 对于DB2/AS400用户: SELECT TABLE_SCHEMA, TABLE_NAME FROM QSYS2.SYSCOLUMNS WHERE upper(colum

我需要DB2SQL查询从列名中查找表。我有列名,但没有此列所属的表名。

选择TBNAME
select TBNAME
    from sysibm.syscolumns
    where NAME = '<column name>'
从sysibm.syscolumns 其中NAME=''
对于DB2/AS400用户:

SELECT TABLE_SCHEMA, TABLE_NAME 
    FROM QSYS2.SYSCOLUMNS 
    WHERE upper(column_name) = upper('[column_name]')

如果您使用的是Visual Studio Server Explorer,我发现使用以下方法效果最好:

SELECT       TABNAME
FROM         SYSCAT.COLUMNS
WHERE        COLNAME = 'NASR_DESC'
VisualStudio仍然对其进行格式化,但VisualStudio插入的格式仍然有效


希望这有助于使用Visual Studio Server Explorer在IBM DB2数据库中搜索已知列名。

多个表可能有一个同名的列。特别是如果列名是“ID”或“LastUpDebug”@ Curn-请检查这个问题,我已经提到了表/表。对象名称默认为DB2中的所有大写字母,但是如果有人故意使用混合的实例名,请考虑使用Load(CordNe=)上(SeMeCuluMnNname)。您甚至应该考虑在条件的正确部分不使用上,因为性能目的<代码>上(CONNED)=“SoeCeloMNNAME< /COD>”。
SELECT       TABNAME
FROM         SYSCAT.COLUMNS
WHERE        COLNAME = 'NASR_DESC'