将 exec 和 select 组合成单个查询
combine exec and select into single query
我需要将这些组合成一个查询,我该怎么做 我试过 Union 也许我做错了。有人建议我尝试使用 temp table 但不确定我是如何使用 temp table 的,也许我一生中只用过一次。我假设您创建了一个 table 并进行了某种插入,但是 proc 的 exec 呢?
DECLARE
@VendorName AS NVARCHAR(100) = 'DOGWOOD TRUCKING',
@Commodity AS NVARCHAR(100) = 'WASTE',
@GLAccount AS NVARCHAR(20),
@CostCenter AS NVARCHAR(20),
@InternalOrderNum AS NVARCHAR(20),
@BeginDate AS DATE = '3/1/2016',
@EndDate AS DATE = '3/31/2016'
DECLARE
@InvoiceDate AS NVARCHAR(10) = (SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS [MM/DD/YYYY])
SELECT TOP 1
Vendor_Name,
Vendor_Address,
Vendor_City,
Vendor_State,
Vendor_Zip_Code,
ISNULL(Vendor_Email, ' ') AS 'Vendor_Email',
ISNULL(Vendor_Phone_1, ' ') AS 'Vendor_Phone',
Vendor_SAP_Num,
@InvoiceDate AS 'Invoice_Date',
@BeginDate AS 'Invoice_Start_Date',
@EndDate AS 'Invoice_End_Date'
FROM
dbo.List_Vendors
WHERE
Vendor_Name = @VendorName
EXEC [dbo].[VB_Truck_Report_Sell_Invoice] @VendorName, @Commodity, @BeginDate, @EndDate
我认为您不需要 UNION 查询。我想你需要把它放在一起。也许我错了,但希望它有所帮助:
DECLARE
@VendorName AS NVARCHAR(100) = 'DOGWOOD TRUCKING',
@Commodity AS NVARCHAR(100) = 'WASTE',
@GLAccount AS NVARCHAR(20),
@CostCenter AS NVARCHAR(20),
@InternalOrderNum AS NVARCHAR(20),
@BeginDate AS DATE = '3/1/2016',
@EndDate AS DATE = '3/31/2016'
DECLARE
@InvoiceDate AS NVARCHAR(10) = (SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS [MM/DD/YYYY])
SELECT TOP 1
Vendor_Name,
Vendor_Address,
Vendor_City,
Vendor_State,
Vendor_Zip_Code,
ISNULL(Vendor_Email, ' ') AS 'Vendor_Email',
ISNULL(Vendor_Phone_1, ' ') AS 'Vendor_Phone',
Vendor_SAP_Num,
@InvoiceDate AS 'Invoice_Date',
@BeginDate AS 'Invoice_Start_Date',
@EndDate AS 'Invoice_End_Date,
@Commodity,
@GLAccount,
@CostCenter,
@InternalOrderNum,
@BeginDate,
@EndDate,
@InvoiceDate
FROM
dbo.List_Vendors
WHERE
Vendor_Name = @VendorName
那么你将拥有一切。
希望对您有所帮助,请告诉我我的帮助是否有误。
我需要将这些组合成一个查询,我该怎么做 我试过 Union 也许我做错了。有人建议我尝试使用 temp table 但不确定我是如何使用 temp table 的,也许我一生中只用过一次。我假设您创建了一个 table 并进行了某种插入,但是 proc 的 exec 呢?
DECLARE
@VendorName AS NVARCHAR(100) = 'DOGWOOD TRUCKING',
@Commodity AS NVARCHAR(100) = 'WASTE',
@GLAccount AS NVARCHAR(20),
@CostCenter AS NVARCHAR(20),
@InternalOrderNum AS NVARCHAR(20),
@BeginDate AS DATE = '3/1/2016',
@EndDate AS DATE = '3/31/2016'
DECLARE
@InvoiceDate AS NVARCHAR(10) = (SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS [MM/DD/YYYY])
SELECT TOP 1
Vendor_Name,
Vendor_Address,
Vendor_City,
Vendor_State,
Vendor_Zip_Code,
ISNULL(Vendor_Email, ' ') AS 'Vendor_Email',
ISNULL(Vendor_Phone_1, ' ') AS 'Vendor_Phone',
Vendor_SAP_Num,
@InvoiceDate AS 'Invoice_Date',
@BeginDate AS 'Invoice_Start_Date',
@EndDate AS 'Invoice_End_Date'
FROM
dbo.List_Vendors
WHERE
Vendor_Name = @VendorName
EXEC [dbo].[VB_Truck_Report_Sell_Invoice] @VendorName, @Commodity, @BeginDate, @EndDate
我认为您不需要 UNION 查询。我想你需要把它放在一起。也许我错了,但希望它有所帮助:
DECLARE
@VendorName AS NVARCHAR(100) = 'DOGWOOD TRUCKING',
@Commodity AS NVARCHAR(100) = 'WASTE',
@GLAccount AS NVARCHAR(20),
@CostCenter AS NVARCHAR(20),
@InternalOrderNum AS NVARCHAR(20),
@BeginDate AS DATE = '3/1/2016',
@EndDate AS DATE = '3/31/2016'
DECLARE
@InvoiceDate AS NVARCHAR(10) = (SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS [MM/DD/YYYY])
SELECT TOP 1
Vendor_Name,
Vendor_Address,
Vendor_City,
Vendor_State,
Vendor_Zip_Code,
ISNULL(Vendor_Email, ' ') AS 'Vendor_Email',
ISNULL(Vendor_Phone_1, ' ') AS 'Vendor_Phone',
Vendor_SAP_Num,
@InvoiceDate AS 'Invoice_Date',
@BeginDate AS 'Invoice_Start_Date',
@EndDate AS 'Invoice_End_Date,
@Commodity,
@GLAccount,
@CostCenter,
@InternalOrderNum,
@BeginDate,
@EndDate,
@InvoiceDate
FROM
dbo.List_Vendors
WHERE
Vendor_Name = @VendorName
那么你将拥有一切。
希望对您有所帮助,请告诉我我的帮助是否有误。