我想在sql server中搜索一个表有两个特定列名ex(columnA和columnB)的表.我有一个查询一个列名称的查询
SELECT name FROM sysobjects WHERE id IN
( SELECT id FROM syscolumns WHERE name = 'columnA' )
Run Code Online (Sandbox Code Playgroud)
我不知道如何修改它来搜索两列.
Fra*_*itt 11
SELECT name FROM sysobjects WHERE id IN
( SELECT id FROM syscolumns WHERE name = 'columnA' )
and id in
( SELECT id FROM syscolumns WHERE name = 'columnB' )
Run Code Online (Sandbox Code Playgroud)
应该做的伎俩.
这是正确的方法:
select so.name
from sysobjects so
where so.type = 'U' -- it's a user's table
and exists (select * from syscolumns sc where sc.id = so.id and sc.name='columnA')
and exists (select * from syscolumns sc where sc.id = so.id and sc.name='columnB')
Run Code Online (Sandbox Code Playgroud)
检查它是否是用户表很重要。相反,您可以找到视图,表值函数等。
| 归档时间: |
|
| 查看次数: |
8264 次 |
| 最近记录: |