sqlserver怎样判断查询出来的表里 某列是否存在

这个表是临时的一个查询结果
select

case
when a列存在 then a
else 'test'
end
from
(select .....) a

类似下面例子,判断不存在字段则增加
IF NOT EXISTS (SELECT a.name FROM syscolumns a,sysobjects b
WHERE a.id=b.id
AND LTRIM(a.name)='col_name' AND LTRIM(b.name)='tablename')
ALTER TABLE [tablename] ADD [col_name] char(3) NULL
GO
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-27
没有直接判断列是不是存在的,你通过判断a列的值来实现追问

具体的呢?

追答

你这个字段里面是什么值,如果非空可以这样,
case
when a is not null then a else ‘test’

第2个回答  2012-07-27
EXISTS(SELECT a FROM tbl WHERE id='xxx')

sqlServer里面查询一张表里面有没有自增字段
--1 表的identity字段可以在[sys.identity_columns]找到--比如某张表table_example的自增字段可以这样找select * from sys.identity_columns where [object_id]= OBJECT_ID('table_example')--2 有没有是判断,这里等价于是否存在自增字段,可以这样写:if exists(select * from sys.identity_columns...

sqlserver 查询字段在哪个表里
2、查看test_col1的表结构,select * from user_tab_cols t where table_name = 'TEST_COL1',有两个字段,3、查看test_col2的表结构,select * from user_tab_cols t where table_name = 'TEST_COL2',同样有两个字段,4、查看factory_id、factory_name字段存在的所有表中记录情况,select...

SQL SERVER 建表时先判断表有没有存在
我是用查询分析器建立表的, 每次建立表,如果表存在,就要先删除,很麻烦 能不能这样: 建表的时候,先判断表是否存在,如果存在,则不建表,如果不存在,就建立表 或者 建表的时候,先判断表是否存在,如果存在,删除表再建立表,如果不存在,就建立表 ... 展开 谈论用户名您写的代码我看不懂啊,这个 USE GO 是固定...

sql server 语句中的if exists问题
你关联查询这两个表就可以判断你的Table存不存在Apply字段

SqlServer2008 如何判断一张表的数据不在另外两张表里且在该表中新建...
判断tab1的是否在tab2和tab3中有值:SELECT DISTINCT a.表字段 AS 字段名,NVL(b.外键,0) AS dataintab2,NVL(c.外键,0) AS dataintab3 FROM tab1 a,tab2 b,tab3 c WHERE a.主键=b.外键(+)AND a.主键=c.外键(+)AND a.主键=一个具体值;PS:1、NVL函数为如果b的外键为空则返回0...

如何用SQL语句查询后,返回不存在的值,并用一个字符代替
反正都是把SELECT出来的当月工资数加一个判断是空就用一个值替换的函数 你得先说你用的什么数据库?SQL 有JET SQL,T—SQL,还有其他的SQL,你说的不存在的人名,是工资表里有人名但是员工表里是不存在的是吗?如果是这样,把你员工表字段描述下,问题描述要尽可能详细啊,要不怎么回答?

sql server 嵌套查询语句中什么时候用in,什么时候又用exists!
sqlserver嵌套查询语句中使用in或者exists的场景和原则如下:如果查询的两个表大小相当,那么用in和exists差别不大。两者都可以使用。in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。所以当有多重循环,使用in更合适,效率越高。如果两个表中一个较小,一个...

在SQLserver中列名不明确是什么原因?
一般情况此报错出现于关联查询中,两个表里有同样的列名,但查询时未指明这个列名出自哪张表,比如table1和table2中都有同样id,并且靠id关联。如果按下列语句,是会报错的:select id,a.name,b.name from table1 a,table2 b where a.id=b.id此时,由于select后的id并未指明出处,所以就报错,...

sql怎么查询一个表里一个列相同一个列不同并把它关联到 另一个表?_百...
看top 30,你这个是sqlserver吧,sql是这个样子的 SELECT TOP 30 CHAR_BASIC.szNickName AS 人物,case CHAR_BASICSKILL.bBasicSkillID when 1 then sum(CHAR_BASICSKILL.dwSkillValue) \/ 1000 else 0 end as 铁匠,case CHAR_BASICSKILL.bBasicSkillID when 2 then sum(CHAR_BASICSKILL.dwSkillValue...

sqlserver 2005 本来应该为主键的字段出现重复
这个要看一下源表中是否存在唯一的符合字段列表;如果存在,则相对简单,用update可以解决 否则相对复杂,可以参考下面的解决方法。当SQLServer设计表的时候没有建组合字段唯一约束,以后需要增加这一约束时,却发现表里已经有了很 多重复记录了。请看看我用的去掉SQLServer表里组合字段重复的记录方法:假设原始...

相似回答