Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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/0/backbone.js/2.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_Sql Server 2008_Ms Access_Ms Access 2007 - Fatal编程技术网

SQL构造错误

SQL构造错误,sql,sql-server,sql-server-2008,ms-access,ms-access-2007,Sql,Sql Server,Sql Server 2008,Ms Access,Ms Access 2007,表:项目 --------------------------------------- Item_ID Description --------------------------------------- 1 Vivel Satin Soap 2 Flake 3 Maggie 4 Mango Juice --------------------------------------- 我在按照我想要的方式构

表:项目

--------------------------------------- Item_ID Description --------------------------------------- 1 Vivel Satin Soap 2 Flake 3 Maggie 4 Mango Juice --------------------------------------- 我在按照我想要的方式构造SQL查询时遇到了问题。。。。这里,我有两个 数据库中的表,如上图所示。项目表用于项目的说明查找 和用于查找项目销售记录的销售表。现在,我的要求是,我想选择一个记录 从两个表生成报告,如下所示。报告应包含 项目描述及其对应的数量总和

REPORT ------------------------------------------------------ Item_ID Description Total_Quantity ------------------------------------------------------ 1 Vivel Satin Soap 4 2 Flake 3 3 Maggie 1 4 Mango Juice (SHOULD BE NULL HERE) ------------------------------------------------------ 我尝试按照SQL查询和其他一些方法生成报告,但出现了一个逻辑错误。。。。 所以,请帮助我更好地构建

1) SELECT I.Item_ID, I.Description, Sum(S.Quantity) FROM ITEMS I INNER JOIN SALES S ON I.Item_ID = S.Item_ID ORDER BY I.Item_ID; 2) Select I.Item_ID, I.Description, Sum(S.Quantity) From ITEMS I, SALES S Where S.Item_ID IN (Select Item_ID from ITEMS) Order by I.Item_ID; 3) etc.......... 试试这个

          SELECT I.Description, Sum(S.Quantity)
          FROM ITEMS I 
          LEFT JOIN SALES S ON I.Item_ID = S.Item_ID
          GROUP BY I.Description

而不是内部只是尝试与左连接。。。 您需要使用GROUPBY子句

  SELECT I.Item_ID, I.Description, Sum(S.Quantity)  -- It will return Null for Mango Juice 
  FROM ITEMS I 
  LEFT JOIN SALES S ON I.Item_ID = S.Item_ID
  Group By I.Item_ID, I.Description
  ORDER BY I.Item_ID;
或:

  SELECT I.Item_ID, I.Description, Sum(S.Quantity)  -- It will return Null for Mango Juice 
  FROM ITEMS I 
  LEFT JOIN SALES S ON I.Item_ID = S.Item_ID
  Group By I.Item_ID, I.Description
  ORDER BY I.Item_ID;
  SELECT I.Item_ID, I.Description, CASE WHEN Sum(S.Quantity) IS NULL THEN 0 ELSE Sum(S.Quantity) END Quantity  -- It will return 0 for Mango Juice 
  FROM ITEMS I 
  LEFT JOIN SALES S ON I.Item_ID = S.Item_ID
  Group By I.Item_ID, I.Description
  ORDER BY I.Item_ID;