我想创建一个具有动态列数的表,具体取决于其他表的行值。 例如,我有一个表(表1),它有2列名为'VALUE'和'ISACTIVE'(如果我们需要考虑这个值作为新表中的一列)'ISACTIVE'列取值1需要创建具有新表: 一些新表的列(和列名)=表1的值,其中Isactive = 1T-SQL /创建一个表,他的列取决于其他表的行
0
A
回答
0
尝试一下below.This是假设所有列是整数。我们可以进行相应的修改,如果它是VARCHAR。我们需要改变现有的表和添加一个名为textval栏默认为“0”这里
drop table test
create table test
(
value integer,
isactive integer
);
alter table test add textval nvarchar(max) default '0'
insert into test (value,isactive) values (123,5);
select * from test;
现在更新基于isactive价值的新列。如果是5的新列w ^生病有col5所有beign整数,并用它来创建一个新表
begin
declare @i integer;
set @i=1
declare @isactive integer;
declare @stmt nvarchar(max);
declare @stmt2 nvarchar(max);
declare @testval nvarchar(max);
set @isactive= (select isactive from test)
while (@i <[email protected])
begin
declare @textval nvarchar(max);
set @textval = (select textval from test)
set @stmt= 'update test set textval = '''+ @textval +'col' +cast(@i
as varchar(100)) + ' ' + 'integer,'''
execute sp_executesql @[email protected]
set @[email protected]+1;
end
set @testval=(select left(replace(textval,'0col1','col1'),len(textval)-2)
from test)
set @stmt2 ='create table tab1 (' + @testval + ')';
execute sp_executesql @[email protected];
end
0
SELECT [attributeName] INTO [DatabaseName].[dbo].[NewTableName]
FROM [DatabaseName].[dbo].[FromTableName] WHERE ISACTIVE=1
0
我首先想到的是基于一个过程动态创建在你的条件下。阅读这个问题和答案,这将有所帮助。
T-SQL How to create tables dynamically in stored procedures?
原料例如
DECLARE @SQLString NVARCHAR(MAX)
SET @SQLString = N'CREATE TABLE <table_name> ('
-- Conditons here
SET @SQLString = @SQLString + '<column_name> <type>'
-- End of conditions
SET @SQLString = @SQLString + ')'
EXEC (@SQLString)
相关问题
- 1. MS SQL使一个表的列取决于其他表值sum
- 2. 基于创建表的其他两列
- 3. 列取决于其他列
- 4. 创建一个新表与其他表
- 5. 如何创建合并其他两个列表的列表?
- 6. 取决于其他列的总和值
- 7. 取决于其他列的值
- 8. 创建其数组的键和值取决于其他数组
- 9. 取决于其他表的筛选器阵列
- 10. JavaFX Tableview - 列值取决于其他列
- 11. 列添加到现有的表我想一列添加到现有表,其价值依赖于其他的列存储其值取决于其他列
- 12. 如何创建上述其他列表
- 13. 创建一个包含其他列表元素引用的新列表?
- 14. 从其他表更新表,其中行等于一个值
- 15. 更新基于同一表中的其他列的多个列
- 16. 创建一个虚假的has_many关系 - 取决于其他成员var
- 17. 在创建其他表中的ID时更新一个表中的列数据
- 18. 重新启动其他类的服务,同时取决于其他类,创建一个依赖循环
- 19. 如何创建其中一列的表指向其他表的关键点?
- 20. 从其他表中匹配行的存在创建列?
- 21. 如何创建用于其他表达式的表达式?
- 22. 创建表其他变更表
- 23. 使用来自其他列表的一系列索引创建新列表
- 24. 与其他表创建记录的值
- 25. 建立SQL列表,基于什么不是在其他表返回一个表
- 26. web2py如何创建列表:db.py中其他表的引用
- 27. sql从其他表中的列创建表
- 28. 过程 - 创建引用其他表列类型的表
- 29. 创建一个加载表单并加载其他表单
- 30. 创建一个枚举表和其他表访问mysql中
什么应该是我们创建的列的数据类型? – Aparna
您是否试图根据您的条件动态创建它(动态SQL查询)? – Cosmin