sql - 将参数值传递给表?
问题描述
我有以下存储过程查询,现在我需要将一些参数值传递给 SQL Server 中此查询中的“详细信息”表列,如“cus_name”和“cus_tel”。
SELECT APO_Order_Id AS Purchase_Order_Number,
p.ref_code AS Project_ID,
p.PJM_UserDefinedProjID AS Project_Code,
CASE m.APO_Use_Alt_Address
WHEN 0
THEN LTRIM(isnull(p.PJM_LotNumber, '')+' '+isnull(p.PJM_StreetNumber, '')+' '+isnull(p.PJM_SiteAddr1, '')+' '+isnull(p.PJM_Suburb, '')+' '+isnull(p.PJM_PostCode, ''))
WHEN 1
THEN LTRIM(isnull(p.PJM_Alt_LotNumber, '')+' '+isnull(p.PJM_Alt_StreetNumber, '')+' '+isnull(p.PJM_Alt_SiteAddr1, '')+' '+isnull(p.PJM_Alt_Suburb, '')+' '+isnull(p.PJM_Alt_PostCode, ''))
END AS Project_Site_Address,
p.PJM_StartDate AS Site_StartDate,
s.CNT_ClientName AS Creditor,
m.APO_Description AS Purchase_Order_Description,
isnull(d.Order_Amount, 0) AS Order_Total,
ui.tui_username AS Project_Manager
FROM Account_APOrderMaster AS m
LEFT JOIN
(
SELECT APOD_Master_Id,
APOD_Project_Id,
SUM(APOD_Total_Amount) AS Order_Amount
FROM Account_APOrderDetail
GROUP BY APOD_Master_Id,
APOD_Project_Id
) AS d ON m.Ref_Code = d.APOD_Master_Id
LEFT JOIN Client_Name AS s ON m.APO_Supplier_ID = s.Ref_Code
LEFT JOIN Project_Master AS p ON d.APOD_Project_Id = p.ref_code
LEFT JOIN System_UserInformation AS ui ON m.APO_ProjectManagerId = ui.Ref_Code
WHERE apo_order_id = @purchase_order_number
GO
我怎样才能做到这一点?
完成的存储过程代码
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[spGetPurchaseOrderProjectDetails]
@purchase_order_number as varchar(20)
AS
SET NOCOUNT ON
SELECT APO_Order_Id AS Purchase_Order_Number,
p.ref_code AS Project_ID,
p.PJM_UserDefinedProjID AS Project_Code,
CASE m.APO_Use_Alt_Address
WHEN 0
THEN LTRIM(isnull(p.PJM_LotNumber, '')+' '+isnull(p.PJM_StreetNumber, '')+' '+isnull(p.PJM_SiteAddr1, '')+' '+isnull(p.PJM_Suburb, '')+' '+isnull(p.PJM_PostCode, ''))
WHEN 1
THEN LTRIM(isnull(p.PJM_Alt_LotNumber, '')+' '+isnull(p.PJM_Alt_StreetNumber, '')+' '+isnull(p.PJM_Alt_SiteAddr1, '')+' '+isnull(p.PJM_Alt_Suburb, '')+' '+isnull(p.PJM_Alt_PostCode, ''))
END AS Project_Site_Address,
p.PJM_StartDate AS Site_StartDate,
s.CNT_ClientName AS Creditor,
m.APO_Description AS Purchase_Order_Description,
isnull(d.Order_Amount, 0) AS Order_Total,
ui.tui_username AS Project_Manager
FROM Account_APOrderMaster AS m
LEFT JOIN
(
SELECT APOD_Master_Id,
APOD_Project_Id,
SUM(APOD_Total_Amount) AS Order_Amount
FROM Account_APOrderDetail
GROUP BY APOD_Master_Id,
APOD_Project_Id
) AS d ON m.Ref_Code = d.APOD_Master_Id
LEFT JOIN Client_Name AS s ON m.APO_Supplier_ID = s.Ref_Code
LEFT JOIN Project_Master AS p ON d.APOD_Project_Id = p.ref_code
LEFT JOIN System_UserInformation AS ui ON m.APO_ProjectManagerId = ui.Ref_Code
WHERE apo_order_id = @purchase_order_number
GO
解决方案
推荐阅读
- visual-studio-code - “代码 。” 无法在 Windows10 上的 Visual Code Studio 命令行中工作
- php - 如何通过 id 获取格式/证书的名称
- regex - 如何在 Hive 中使用 regexp_replace() 一次删除多个字符?
- html - 将图像定位在另一个图像上
- java - Java 中 SSL 安全服务器的客户端 - 发生“没有 X509TrustManager 实现可用异常”
- python - 如何在数据框python中一次添加多个日期行
- spring - Default SSL context init failed: SunX509 KeyManagerFactory not available
- c++ - 为什么 static_assert 在带有 const 参数的成员函数中不起作用?
- scroll - 如何使 flex div 可滚动
- django - Bootstrap 搜索框使用了错误的 url