Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
筛选SQL查询中的空值_Sql_Sql Server - Fatal编程技术网

筛选SQL查询中的空值

筛选SQL查询中的空值,sql,sql-server,Sql,Sql Server,我试图找出如何摆脱这些空值。我写了一个查询,应该只返回1994年发出的订单,但我得到了几个空值。我想这与我如何加入我的团队有关,但我不确定 我解决了这个问题,但使用了以下查询。我实际上需要做的是在订单日期上加上10天,以获得ShippedDate结果 SELECT Orders.OrderID, Products.ProductID, Customers.CompanyName, (OrderDetails.Quantity * Products.Unit

我试图找出如何摆脱这些空值。我写了一个查询,应该只返回1994年发出的订单,但我得到了几个空值。我想这与我如何加入我的团队有关,但我不确定

我解决了这个问题,但使用了以下查询。我实际上需要做的是在订单日期上加上10天,以获得
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