筛选SQL查询中的空值
我试图找出如何摆脱这些空值。我写了一个查询,应该只返回1994年发出的订单,但我得到了几个空值。我想这与我如何加入我的团队有关,但我不确定 我解决了这个问题,但使用了以下查询。我实际上需要做的是在订单日期上加上10天,以获得筛选SQL查询中的空值,sql,sql-server,Sql,Sql Server,我试图找出如何摆脱这些空值。我写了一个查询,应该只返回1994年发出的订单,但我得到了几个空值。我想这与我如何加入我的团队有关,但我不确定 我解决了这个问题,但使用了以下查询。我实际上需要做的是在订单日期上加上10天,以获得ShippedDate结果 SELECT Orders.OrderID, Products.ProductID, Customers.CompanyName, (OrderDetails.Quantity * Products.Unit
ShippedDate
结果
SELECT
Orders.OrderID,
Products.ProductID,
Customers.CompanyName,
(OrderDetails.Quantity * Products.UnitPrice) AS OrderCost,
FORMAT(DATEADD(DAY, 10,Orders.OrderDate), 'MMM dd yyyy') AS ShippedDate
FROM
Customers
INNER JOIN
Orders ON Customers.CustomerID = Orders.CustomerID
INNER JOIN
OrderDetails ON Orders.OrderID = OrderDetails.OrderID
INNER JOIN
Products ON OrderDetails.ProductID = Products.ProductID
WHERE
YEAR (OrderDate) >= ('1994')
AND (OrderDetails.Quantity * Products.UnitPrice) >= '2500'
ORDER BY
CompanyName
您正在按一列进行筛选,并显示另一列。你不应该展示同样的吗?也许解决方案是这样的:
SELECT Orders.OrderID,
Products.ProductID,
Customers.CompanyName,
(OrderDetails.Quantity * Products.UnitPrice) AS OrderCost,
FORMAT(Orders.ShippedDate, 'MMM dd yyyy') AS ShippedDate
FROM Customers
INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID
INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID
INNER JOIN Products ON OrderDetails.ProductID = Products.ProductID
WHERE YEAR (Orders.ShippedDate) >= ('1994') -- CHANGED COLUMN HERE!
ORDER BY CompanyName;
你从哪里得到空值;哪些领域。你有样本数据吗?哦。我添加了一个屏幕截图。订单11008是否有发货日期?此外,您从1994年开始申请订单,其中您的条件保证OrderDate不为空。但是查询返回的是ShippedDate的值。也许有一些订单是从1994年开始的,没有发货日期。我瞎了吗?我仍然没有看到您在屏幕截图中所指的
null
。