0

运行 SQL Server 2008。

每次执行此查询时,我都会创建一个临时表,并尝试找到一种方法,如果要输入多于 1 行,如何添加多行。我有客户的收据信息。

create table #temp (col1 varchar(100),col2 varchar(100),col3 varchar(100))

insert into #temp (col1, col2, col3)values('Store ID', '01', '')
insert into #temp (col1, col2, col3)values('Product','Quantity','Amount')
insert into #temp (col1, col2, col3)values
(
  (select product from receipt where receiptnum = 1),
  (select quantity from receipt where receiptnum = 1),
  (select amount from receipt where receiptnum = 1),
)
select * from #temp

给我输出(这是我的整个数据结构,但相同的概念只是为了不让代码泛滥): 在此处输入图像描述

我的问题是,如果收据有超过 1 个产品,我该怎么做,而事先不知道。显示此数据所需的只是收据编号和商店编号,因此我不知道要输入的行数。

环顾四周,似乎我将不得不使用光标,但我对光标的知识一无所知。

4

1 回答 1

1

用下面的语句替换第三个插入语句会将所有记录插入到选择中返回的临时表中。

insert into #temp
select product, quality, amount from receipt where receiptnum = 1
于 2013-02-12T20:52:22.533 回答