जब तक आप गतिशील एसक्यूएल का उपयोग नहीं करते हैं। हालांकि ऐसी चीज की आवश्यकता बहुत असामान्य है, क्या आपको यकीन है कि आपको इसकी आवश्यकता है?
कार्य उदाहरण
create table Products (ProductID int, Price money, Description varchar(10));
insert Products select 1, 12.3, 'apples'
insert Products select 2, 2.4, 'bananas'
create table OrderDetails (OrderID int, ProductID int, Qty int)
insert into OrderDetails select 11,1, 2
insert into OrderDetails select 11,2, 4
declare @sql nvarchar(max)
select @sql = coalesce(@sql+',','') +
'P.' + QuoteName(Column_name) + ' as ' + QuoteName('P_' + Column_name)
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'Products'
order by ORDINAL_POSITION
set @sql = '
select ' + @sql + ', O.OrderID, O.Qty
from Products P
inner join OrderDetails O on P.ProductID = O.ProductID
'
--print @sql :: uncomment if you need to see it
exec (@sql)
आउटपुट:
P_ProductID P_Price P_Description OrderID Qty
----------- --------------------- ------------- ----------- -----------
1 12.30 apples 11 2
2 2.40 bananas 11 4
कोई अन्य विकल्प जिसका उल्लेख नहीं किया गया था, सही आकार के साथ एक दृश्य बना रहा है और –