设有一字符串,里面是用逗号分隔的一些列名,列名个数不确定
例如:@s='col1,col2,col3'
如何在名为DB的数据库中查找一个或多个表,[email protected]
最后输出结果应该是一个或多个表名
------解决方案--------------------
1楼的Group by 写错了。
- SQL code
declare @s varchar(1000);set @s='col1,col2,col3';declare @column_count int;set @column_count = LEN(@s)-LEN(REPLACE(@s,',',''))+1;SELECT id,nameFROM sysobjects AS oWHERE EXISTS(SELECT 1 FROM syscolumns WHERE o.id=id AND CHARINDEX(','+name+',',',[email protected]+',')>0 GROUP BY id HAVING COUNT(*)[email protected]_count);
------解决方案--------------------