以文本方式查看主题 - 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 这里需要把数量也分组进去, 变成了这样: 实际应该是这样只有一条数据: [此贴子已经被作者于2017/11/22 19:38:22编辑过]
|
-- 作者:fubblyc -- 发布时间:2017/11/22 19:59:00 -- 哦,采用第二种方式搞定了。甜老师!! [此贴子已经被作者于2017/11/22 20:03:50编辑过]
|