Как экспортировать 3 табличных значения в один Excel с помощью SQL Server 2008 - PullRequest
1 голос
/ 07 июня 2011

Мне нужно экспортировать 3 полных табличных значения SQL в один лист Excel, используя процедуру сохранения. я сделал с одним столом,

запрос, который я использовал для одной таблицы:

   set @sql='bcp "select * from  Veest..ven_machinedescription_day_report " queryout   c:\Daily_Reports\data_file.csv  -c -t,  -T -S' + @@servername          
   exec master..xp_cmdshell @sql          


   --Copy dummy file to passed EXCEL file        
   set @sql= 'exec master..xp_cmdshell ''type '+@data_file+' >> "'+@file_name+'"'''        
   exec(@sql)        


  --Delete dummy file         
    set @sql= 'exec master..xp_cmdshell ''del '+@data_file+''''        
    exec(@sql) 

вышеуказанный запрос работает нормально .. для сохранения 3 значений таблиц, я сделал так,

          set @sql='bcp "select * from  Veest..ven_machinedescription_day_report " queryout   c:\Daily_Reports\data_file.csv  -c -t,  -T -S' + @@servername          
              exec master..xp_cmdshell @sql  
        set @sql1='bcp "select * from  Veest..ven_machinedescription_night_report " queryout   c:\Daily_Reports\data_file.csv  -c -t,  -T -S' + @@servername          
       exec master..xp_cmdshell @sql1  
           set @sql22='bcp "select * from  Veest..ven_machinedescription_midnight_report " queryout   c:\Daily_Reports\data_file.csv  -c -t,  -T -S' + @@servername          
      exec master..xp_cmdshell @sql2

когда я увидел data_file.csv, сохраняется только последнее выполнение (@ sql2) .. данные не добавляются .. мне нужен вывод, аналогичный приведенному ниже изображению ..

enter image description here

несколько раз общее количество столбцов будет не одинаковым во всех 3 таблицах. Пожалуйста, помогите мне решить эту проблему ..

С уважением,

T.Navin

1 Ответ

1 голос
/ 07 июня 2011

Создать вид. Затем экспортируйте из представления в Excel.

CREATE VIEW vending_report
AS
    SELECT 'A' segment, col1, col2, shift_type, col4, col5, col6
    FROM ven_machinedescription_day_report

    UNION ALL

    SELECT 'B', NULL, NULL, NULL, NULL, NULL, NULL

    UNION ALL

    SELECT 'C', col1, col2, shift_type, col4, NULL, NULL
    FROM ven_machinedescription_night_report

    UNION ALL

    SELECT 'D', NULL, NULL, NULL, NULL, NULL, NULL

    UNION ALL

    SELECT 'E', col1, col2, shift_type, col4, col5, NULL
    FROM ven_machinedescription_midnight_report
GO

SELECT col1, col2, shift_type, col4, col5, col6
FROM vending_report
ORDER BY segment
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...