假设一个表有10个字段
其中有一个是MissionID
我要取出除了这个MissionID外的其他9个字段
除了select后面跟9个字段名的写法之外
还有其他办法么?
因为这样的写法如果这个表里面+字段
或者字段名改变
我势必要去修改select语句了
其中有一个是MissionID
我要取出除了这个MissionID外的其他9个字段
除了select后面跟9个字段名的写法之外
还有其他办法么?
因为这样的写法如果这个表里面+字段
或者字段名改变
我势必要去修改select语句了
INSERT TB
SELECT 1, 2, 3, 4 UNION ALL
SELECT 2, 3, 4, 5 UNION ALL
SELECT 3, 4, 5, 6DECLARE @STR VARCHAR(8000)
SET @STR=''
SELECT @STR=@STR+','+NAME
FROM syscolumns
WHERE ID=OBJECT_ID('TB') AND NAME<>'MissionID'EXEC('SELECT MissionID'+@STR+' FROM TB')
DROP TABLE TB
/*
MissionID col2 col3 col4
----------- ----------- ----------- -----------
1 2 3 4
2 3 4 5
3 4 5 6
*/
from tablexxx a
where a.2>a.8就好了上面的语法,表别名后跟数值x,等于该表的第x个字段
也不会与现有的sql语法冲突
分明是据库引擎的开发商、标准制定者已经脱离一线的开发者了
根据syscolumns 表的数据来判断。但是楼主自己衡量下实际需要。