SELECT
O.*,
C.CustName,
OD.[PartNo], OD.[PartDesc],
OD.[Quantity], OD.[Price], OD.[Total],
OD.[Price] * O.[ExchangeRateToGBP] AS PriceGBP,
OD.[Total] * O.[ExchangeRateToGBP] AS TotalGBP
FROM
[dbo].[tblOrder] O
INNER JOIN
[dbo].[tblOrderDetails] OD ON O.OrderNo = OD.OrderNo
INNER JOIN
[dbo].[tblCustomer] C ON O.CustNo = C.CustNo
WHERE
(OrderId = @OrderId )
有人可以告诉我该怎么做才能让我获得订单ID的默认值吗?目前,用户必须输入OrderId
才能查看他们想要的部分(这也是我想要的)。但是,如果他们没有OrderId
,那么我怎样才能获得它以便他们只收到所有订单?
答案 0 :(得分:1)
您希望为变量赋予默认值,该值将在未提供任何值时使用:
DECLARE @OrderId VARCHAR(20) = NULL;
然后更改您的WHERE标准:
WHERE (@OrderId IS NULL OR OrderId = @OrderId)
答案 1 :(得分:0)
使用:
...
WHERE OrderId = @OrderId OR @OrderId IS NULL
当用户未提供@OrderId
值时,第二部分将返回true并检索所有记录。