最終的に正常に機能するようになったクエリがありますが、本当に必要なのは、SQLPRINT
コマンドを使用して表示される結果です。これは、結果を電子メールで自動化するためです。結果を印刷されたテキストとして出力できる場合は、ここで使用するツールを使用して結果を電子メールに埋め込むことができます。それ以外の場合は、現在の結果をファイルとして添付する必要があり、可能であれば印刷されたテキストをお勧めします。
追加してクエリを変更しようとしましたDECLARE
がPRINT
、本当に混乱していて理解できません。クエリには、複数のデータベースからデータを取得する2つのCTEが含まれています。昨日のSAPシステムからのすべての販売番号/IDを選択し、それらを昨日のPOSシステムからの販売番号/ IDと比較して、POSシステムのすべての販売が現在SAPにあることを確認します。クエリ自体は正常に機能します。
このクエリの結果を印刷するにはどうすればよいですか?
WITH CTE1 (SAP_SALE)
AS
(
select distinct convert(BIGINT,convert(varchar(15),WERKS)+(select RIGHT(convert(Varchar(20),BONNR),7)))
as Branch_tx_no from [PDP].[pdp].[S120] WITH (NOLOCK)
where SPTAG >= CAST(CONVERT(VARCHAR(10), GETDATE() -1, 101) AS DATETIME) AND
SPTAG < CAST(CONVERT(VARCHAR(10), GETDATE(), 101) AS DATETIME)
),
CTE2 (AR_SALE)
AS
(
select convert(varchar(15),branch_no)+convert(varchar(15),sale_tx_no)
from [ARDB01].[PP_BODATA].[DBO].[sales_tx_hdr] WITH (NOLOCK)
WHERE sale_date >= CAST(CONVERT(VARCHAR(10), GETDATE() -1, 101) AS DATETIME) AND
sale_date < CAST(CONVERT(VARCHAR(10), GETDATE(), 101) AS DATETIME)
and sale_type in ('C','L')
)
SELECT AR_SALE FROM CTE2 AS CTE2
Left OUTER JOIN CTE1 AS CTE1
ON CTE1.SAP_SALE = CTE2.AR_SALE
WHERE CTE1.SAP_SALE IS NULL
ORDER BY CTE2.AR_SALE