我的任务是在SQL服务器上创建一个数据库,该数据库反映了我们在访问方面的情况(由于内存容量的增加)。我正在尝试编写一个查询,以比较三个表中产品库存级别的数量,并找出其中的差异。我也想写一个查询,这将允许我提取一个产品的报告,这些产品已经连续7天错位。这方面的方程式是表B+C=表A。到目前为止,这是我的代码:
CREATE TABLE EWM
(
Date_loaded date,
Sap_code bigint,
Product_description varchar(100),
Location ntext,
Storage_type varchar(50),
Quantity int,
Sap_batch ntext,
Expiry_date date,
Stock_type varchar(50)
);
CREATE TABLE USOR
(
Date_Loaded date,
Sap_Code bigint,
Product_description varchar(100),
Pack text,
Cost_price float,
Trade_price float,
Stock int,
Location text,
);
CREATE TABLE Wamas
(
Date_Loaded date,
Tu_barcode bigint,
Sap_code bigint,
Product_description varchar(100),
Quantity int,
LG_code varchar(100),
Geocode text,
Lot text,
Expiry_date date
)
CREATE TABLE DSOR
(
Date_Loaded datetime,
Sap_code bigint,
Product_description varchar(100),
Bin_location text,
Location varchar(50),
Pack text,
Units int,
Total int,
);查询尝试:
select
USOR.Sap_code, USOR.Product_description, USOR.Pack, USOR.Location,
sum(USOR.Stock+DSOR.Total) as Total_quantity
from
USOR
join
DSOR on USOR.Sap_Code = DSOR.Sap_code
where
USOR.Sap_Code = DSOR.Sap_code
group by
USOR.Sap_code当前收到一个带有联接的错误消息
'USOR.Product_description‘在select列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。
任何帮助都将不胜感激。
*最新情况。谢谢大家的反馈。正如我前面提到的,我是SQL的完全初学者。通过使用内部联接组合两个表中的数量,我成功地得到了我想要的结果。现在,我正在尝试将该查询的结果转换为一个单独的表,我将在另一个查询中这样做,但我在这样做时遇到了困难。以下是我的尝试:
(
select USOR.Sap_Code AS Sap_code, USOR.Product_description as Product_description, USOR.Pack as Pack, USOR.Location as Location, sum(USOR.Stock+DSOR.Total) as Total_quantity
from USOR
join DSOR
on USOR.Sap_Code = DSOR.Sap_code as Total_quantity
group by USOR.Sap_code, USOR.Product_description, USOR.Pack, USOR.Location
); ````
I am getting the following error message:
'Incorrect syntax near the keyword 'select'.
Msg 156, Level 15, State 1, Line 56
Incorrect syntax near the keyword 'as'发布于 2020-10-07 20:36:00
select USOR.Sap_code, USOR.Product_description, USOR.Pack, USOR.Location,
sum(USOR.Stock+DSOR.Total) as Total_quantity
from USOR
join DSOR on USOR.Sap_Code = DSOR.Sap_code
group by USOR.Sap_code, USOR.Product_description, USOR.Pack, USOR.Location发布于 2020-10-07 20:36:12
我说的是语法;您正在使用sum(...)进行聚合,但是组by无效。而不是使用group by USOR.Sap_code
group by USOR.Sap_code, USOR.Product_description, USOR.Pack, USOR.Location发布于 2020-10-07 20:42:21
每当使用"GROUP“进行聚合时,必须在GROUP子句中包括所选的所有其他字段。您几乎可以得到以下it...use:
select
u.Sap_code
, u.Product_description
, u.Pack
, u.Location
, sum(u.Stock+d.Total) as Total_quantity
from USOR u
inner join DSOR d on u.Sap_Code = d.Sap_code
group by
u.Sap_code
, u.Product_description
, u.Pack
, u.Locationhttps://stackoverflow.com/questions/64251866
复制相似问题