我想創建一個具有動態列數的表,具體取決於其他表的行值。 例如,我有一個表(表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