mtufail Ответов: 2

Использование выходных значений в SQL server


В sql server я получаю отчетливую запись из двух таблиц, как показано в tried
я хочу использовать выходные значения в sql server?

Что я уже пробовал:

SELECT derivedtable.NewColumn
FROM
(
    SELECT CustomerAccountID as NewColumn FROM [dbo].[Order] where ShipmentStatusID=4 and EndDate>='2018-08-01' and EndDate<='2018-08-07'
    UNION
	SELECT CustomerAccountID as NewColumn FROM [dbo].[Order] where ShipmentStatusID=5 and EndDate>='2018-08-01' and EndDate<='2018-08-07'
	union
    SELECT CustomerAccountID as NewColumn FROM [dbo].[OtherCharges] where EntryDate>='2018-08-01' and EntryDate<='2018-08-07'
) derivedtable
WHERE derivedtable.NewColumn IS NOT NULL
order by NewColumn


он показывает 35 записей в качестве выходных данных

Я хочу использовать эти выходные значения в sql server как я могу использовать эти значения

Santosh kumar Pithani

ваш вопрос не ясен..далее "я хочу использовать эти выходные значения" делает
это имеет смысл ?

2 Ответов

Рейтинг:
2

RedDk

Конечно,

Стандартный BCP в условиях EXECUTE xp_cmdshell выглядит примерно так:

EXECUTE xp_cmdshell 'bcp "SELECT derivedtable.NewColumn (etc) ... FROM [dbo].[OtherCharges] ... (etc) ... order by NewColumn" queryout C:\users\mtufail\resultsQuery.txt -c -T -S "(SERVERNAME)"
Где (ИМЯ_СЕРВЕРА) - это ваше MSSQL$INSTANCENAME. Это используется в качестве строки подключения (см. файл справки для точного синтаксиса/семантики).


Рейтинг:
0

Member 13978939

-- You can create a temporary table and insert your output data in that table to use in sql server
-- For exmple see below code

IF OBJECT_ID(N'tempdb..#Order', N'U') IS NOT NULL DROP TABLE #Order;

IF OBJECT_ID(N'tempdb..#OtherCharges', N'U') IS NOT NULL DROP TABLE #OtherCharges;


create table #Order (
    CustomerAccountID varchar (10),ShipmentStatusID int ,EndDate date
                     );

create table #OtherCharges (
    CustomerAccountID varchar (10),Charges numeric(14,2) ,EntryDate date
                             );



insert into #Order (CustomerAccountID,ShipmentStatusID,EndDate)
values 
('C0001',1,'2018-02-02'),
('C0001',4,'2018-09-02'),
('C0002',1,'2018-05-01'),
('C0002',2,'2018-09-02'),
('C0001',5,'2018-12-02'),
('C0003',4,'2018-08-05'),
('C0002',4,'2018-12-30');


insert into #OtherCharges (CustomerAccountID,Charges,EntryDate)
values 
('C0001',1,'2018-02-02'),
('C0001',5000,'2018-08-02'),
('C0002',4500,'2018-05-01'),
('C0002',6900,'2018-09-02'),
('C0001',7000,'2018-12-02'),
('C0003',12000,'2018-06-02'),
('C0002',8500,'2018-12-30');


DECLARE @UpdateLog table(NewColumn varchar (10) NOT NULL);

insert  into @UpdateLog
SELECT derivedtable.NewColumn 

FROM
(
    SELECT CustomerAccountID as NewColumn 
          FROM #Order 
     where ShipmentStatusID=4 and EndDate>='2018-08-01' and EndDate<='2018-08-07' 
  UNION
	SELECT CustomerAccountID as NewColumn FROM #Order 
    where ShipmentStatusID=5 and EndDate>='2018-08-01' and EndDate<='2018-08-07'
  union
  SELECT CustomerAccountID as NewColumn 
    FROM #OtherCharges where EntryDate>='2018-08-01' and EntryDate<='2018-08-07'
) derivedtable
WHERE derivedtable.NewColumn IS NOT NULL
order by NewColumn


select * from @UpdateLog;