以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  首次入库数量sql  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=109875)

--  作者:fubblyc
--  发布时间:2017/11/22 0:36:00
--  首次入库数量sql
老师,

SELEC T
C_STORE_ID as 店仓ID,
M_PRODUCT_ID as 产品ID,
VALUE1 as 颜色,
VALUE2 as 尺码,
min(CHANGEDATE ) as 首次入库日期,
qty as 首次入库数量

FROM
dbo.FA_STORAGE_FTP
INNER JOIN dbo.M_ATTRIBUTESETINSTANCE ON FA_STORAGE_FTP.M_ATTRIBUTESETINSTANCE_ID = dbo.M_ATTRIBUTESETINSTANCE.ID
group by
C_STORE_ID ,
M_PRODUCT_ID ,
VALUE1,
VALUE2 ,
qty      这里需要把数量也分组进去,这样就起步到只取第一次入库的数量,因为不同时间的数量不一样。


好像是可以用下面这种方式做,但是我又写不对。。。

SELEC T min(t.首次入库日期) as 入库日期2 ,t.首次入库数量  from
(SELEC T
C_STORE_ID as 店仓ID,
M_PRODUCT_ID as 产品ID,
VALUE1 as 颜色,
VALUE2 as 尺码,
min(CHANGEDATE ) as 首次入库日期,
qty as 首次入库数量
FROM
dbo.FA_STORAGE_FTP
INNER JOIN dbo.M_ATTRIBUTESETINSTANCE ON dbo.FA_STORAGE_FTP.M_ATTRIBUTESETINSTANCE_ID = dbo.M_ATTRIBUTESETINSTANCE.ID
) as t 
GROUP BY
t.店仓ID,
t.产品ID,
t.颜色,
t.尺码


[此贴子已经被作者于2017/11/22 0:36:58编辑过]

--  作者:有点甜
--  发布时间:2017/11/22 8:41:00
--  

要用子查询,如

 

语句1:select 第一列, min(日期) as 日期 from {表A} group by 第一列

 

语句2:select * from {表A} as a inner join (语句1) as b on a.第一列 = b.第一列 and a.日期 = b.日期

[此贴子已经被作者于2017/11/22 21:31:20编辑过]

--  作者:fubblyc
--  发布时间:2017/11/22 19:38:00
--  
甜老师,可能没表达清楚:

SELEC T C_STORE_ID , M_PRODUCT_ID qty ,   min(CHANGEDATE ) as 首次入库日期,
FROM dbo.FA_STORAGE_FTP group by  C_STORE_ID ,M_PRODUCT_ID ,qty      这里需要把数量也分组进去,
变成了这样:

此主题相关图片如下:微信截图_20171122193552.png
按此在新窗口浏览图片
实际应该是这样只有一条数据:

此主题相关图片如下:微信截图_20171122193651.png
按此在新窗口浏览图片




[此贴子已经被作者于2017/11/22 19:38:22编辑过]

--  作者:fubblyc
--  发布时间:2017/11/22 19:59:00
--  
哦,采用第二种方式搞定了。甜老师!!
[此贴子已经被作者于2017/11/22 20:03:50编辑过]