我有问题。 我想在我的查询'select .. from .. where'子句中显示field_name。
在我的日志记录表中,该表仅保留[date],[table_id],[field_id]
..字段,我需要在我的选择中显示'field_name'
但是没有任何其他表可以'加入'根据{{1}}中的[field_name]
获取[field_id]
。当我从谷歌搜索时,似乎我可以从名为'select .. from'
表的SQL系统中获取field_name。但这对我的SQL级别来说太复杂了,因为这个sys.coloums不是直截了当的。在所有每个字段编号依赖于表id本身之前,它会混合所有表。
任何知道如何编写好的查询以选择field_name的人都会帮助:)
'sys.columns'
我当前的查询:
log_list table
[date],[table_id],[field_id],[company_name],...
感谢您的关注。
答案 0 :(得分:0)
您的标记没有说明您正在使用的SQL Server版本,假设您使用的是2008+,那么系统功能
COL_NAME ( table_id , column_id )
如果你提供table_id和column_id会得到你的名字,详细参考请点击这里:COL_NAME (Transact-SQL)
如果这对你来说不是一个有效的选项,那么仔细看看sys.columns,它返回的object_id实际上是表的object_id,应该是你的table_id,所以如果你做了类似的事情,它应该工作:
select C.name AS column_name
...
FROM ...
...
join sys.columns C on yourtable.table_id = C.object_id and yourtable.column_id = C.column_id