我有很多张,其中一些是 A,B,C和D. 它们中的每一个都有不同的数据集,但 E,F,G 列具有相同类型的数据。
我想在工作表摘要<的 A,B,C 列中合并工作表A,B,C和D的E,F,G列数据/ strong>即可。
我面临的问题是E2:G(带数据的最后一行)的范围在开头和中间都有空行。示例:E2:G10为空白,数据可能来自E11:G30。这使我的复制粘贴错误。
以下是我编写的代码。但是,由于某种原因,表D中的数据被改变了。另外,由于我不知道如何在复制时免除空行,我使用了一个单独的代码块来删除工作表摘要中复制粘贴活动结束时的空行。
DECLARE @cmd VARCHAR(255)
SET @cmd = 'bcp "select Cash.TransC_dtmDateTime, case
when CONVERT(varchar(10),Cash.TransC_dtmDateTime,108) <'06.00' then (convert(varchar(10),Cash.TransC_dtmDateTime -1,103))
else
(convert(varchar(10),Cash.TransC_dtmDateTime,103))
end as TransDate, tblTrans_Ticket.TransT_intNoOfSeats as NoOfSeats into #seats FROM tblTrans_Cash Cash , tblTrans_Ticket , tblPaymentType
WHERE Cash.TransC_strType = tblPaymentType.PayType_strType and tblTrans_Ticket.TransT_lgnNumber= Cash.TransC_lgnNumber and
Cash.TransC_dtmDateTime between '2016-07-01 06:00:00.000' and '2016-08-01 06:00:00.000' and
tblTrans_Ticket.TransT_intNoOfSeats >0
and Cash.Workstation_strCode='K_DEDEDEDE'
and tblPaymentType.PayType_strDescription in ('JUSPAY','CITRUS','FUELWALLETONLINE','CREDIT CARD')
AND ISNULL(Cash.TransC_strBKCardNo,'') not like '990022%'
order by Cash.TransC_dtmDateTime
select (convert(varchar(10),TransDate,103)), sum(NoOfSeats)as seats from #seats group by convert(varchar(10),TransDate,103) order by TransDate
drop table #seats" queryout "c:/tests.csv" -U sa -P test -S 192.168.57.5,1441 -T -c -t,'
Exec xp_cmdshell @cmd