2011-09-01 39 views
4

我需要db2 sql查詢來查找列名稱中的表/表。我有列名,但沒有該列所屬的表名。如何從DB2中的列中獲取表名?

+0

這可能是多個表有一個同名的列。特別是如果列名稱是例如「ID」或「LAST_UPDATED」 – crowne

+1

@crowne - 請檢查問題,我已經提到了表/表格。 –

回答

10
select TBNAME 
    from sysibm.syscolumns 
    where NAME = '<column name>' 
5
SELECT tabname 
    FROM syscat.columns 
    WHERE colname = 'mycol' 
+2

在DB2中,對象名默認爲全部大寫,但如果有人故意使用混合大小寫名稱,請考慮使用WHERE UPPER(colname)= UPPER('somecolumnname') –

+0

您甚至應該考慮不要在右側使用UPPER條件,出於性能目的'WHERE UPPER(colname)=「SOMECOLUMNNAME」 – Kilazur