如图,请问SQL语句该怎么写?

图片说明

sql
0

2个回答

;WITH temp_table AS(
     SELECT 'A0001' Number,'AA1' PID,160 QTY,100 DeQty,21 Days
     UNION ALL
     SELECT 'A0001' Number,'AA1' PID,80 QTY,100 DeQty,21 Days
     UNION ALL
     SELECT 'A0001' Number,'AA1' PID,100 QTY,100 DeQty,19 
     UNION ALL
     SELECT 'A0001' Number,'AA1' PID,10 QTY,100 DeQty,17 Days
     UNION ALL
     SELECT 'A0001' Number,'AA1' PID,180 QTY,100 DeQty,15 Days

),temp_table1 AS(
SELECT
     *,
     ROW_NUMBER() OVER(ORDER BY temp_table.Days) Num,
     SUM(temp_table.QTY) OVER() Sum_Qty
FROM temp_table
),temp_table2 AS(
SELECT
    *
FROM(
SELECT
     MAX(a.Number) Number,
     MAX(a.QTY) QTY,
     MAX(a.DeQty) DeQty,
     MAX(a.Days) Days,
     SUM(b.QTY) C_Qty,
     MAX(a.Sum_Qty) Sum_Qty,
     a.num
FROM temp_table1 a
JOIN temp_table1 b ON  a.Num>=b.Num
GROUP BY a.Num
)t
OUTER APPLY(
     SELECT SUM(c.QTY) O_Qty FROM temp_table1 c WHERE c.Num<t.Num
)g
)
SELECT
     temp_table2.Number,
     temp_table2.QTY,
     temp_table2.DeQty,
     temp_table2.Days,
     CASE WHEN temp_table2.DeQty>=temp_table2.C_Qty
            THEN temp_table2.Qty 
          WHEN temp_table2.DeQty<temp_table2.QTY AND temp_table2.O_Qty IS NULL 
            THEN temp_table2.DeQty
          ELSE CASE WHEN temp_table2.C_Qty<=temp_table2.Sum_Qty 
                      THEN CASE WHEN temp_table2.DeQty<temp_table2.O_Qty 
                                  THEN 0
                                ELSE temp_table2.DeQty-temp_table2.O_Qty
                           END
                    ELSE 0
               END 
     END result
FROM temp_table2;
1

select sum(a) from (
select (case when datediff(dd,时间,getdate())<=20 then 0.8*入库数量 else 0.9*入库数量 end) as a
) as tab

1
xiaoxiaotuotuodada
noeternal 谢谢您
6 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
请问该sql语句该怎么写?
表table1:rn序号 类别rn100 arn100 brn100 crn101 arn101 brn... ..rnrn表table2:(这个表中,序号是唯一)rn序号 单位rn100 aaarn101 bbbrn... ...rnrn现在想以table2中单位所有的值为字段,得出一下的结果rnrn类别 aaa bbb ...rna 1 1 ...rnb 1 1 ...rnc 1 0 ...rnrn就是统计出每个单位相对于类别的数量!!rn感激帮忙!!!
Mybatis like模糊查询语句怎么写(4种)
模糊查询like语句该怎么写? (1)'%${question}%' 不推荐 (2)&quot;%&quot;#{question}&quot;%&quot; (3)CONCAT('%',#{question},'%') 推荐 (4)使用bind &amp;lt;bind name=&quot;pattern&quot; value=&quot;'%' + _parameter.username + '%'&quot; /&amp;gt; select ...
JDBC编程
❤1、SQL基础 1、写SQL:找出每个城市的最新一条记录。 select city, max(time) from table group by city、 2、一个学生表,一个课程成绩表,怎么找出学生课程的最高分数 学生表(child):id ,student(姓名) 成绩表(grade):id,grade,childid; 语句:select c.student,MAX(g.grade) f...
orcl语句优化
怎么写sql语句才能让你的sql更简单,更快速,这本书简单概述了常用的优化语句
怎么写sql语句将Excel的数据插入到SQL Server数据库.doc
怎么写sql语句将Excel的数据插入到SQL Server数据库.doc
请问这个sql语句该怎么写?
小弟刚学jsp,在一个页面中要用到sql语句rn我写的是:rnString sql="select * from project_ku where project_name like'%" like '%"+keyword"%'";rnproject_ku为表,而project_name都是中文字符,大部分都很长,有的达到6个中文字符的.rn但结果查不出要得到的值,显示的结果是sql于具有问题,另外通过证明,数据库肯定是连上了rn请各位大虾看看,是不是这句话有问题?rn该怎么改?
请问这条SQL语句该怎么写?
我的表里有一个字段是用来表示用户的type的,3为普通用户,0,1,2为管理员,在注册时要选择注册者的type,然后我要在表里查一下这个名字是不是已经存在,在存储过程中,我是这样写的:rncreate procedure sp_checkNameExistrn@UserName nvarchar(10),rn@UserType intrnasrnif @UserType=3rn select UserId from users where UserName=@UserName and UserLevel=3rnelsern exec('select UserId from users where UserName='+ @UserName +'and (UserLevel=0 or UserLevel=1 or UserLevel=2)' )rnselect @@rowcountrn可是执行的时候,如果参数UserType给的是3,就可以查到正确的结果,如果不是3,就会出现如下的错误提示:rnrn第 1 行: '=' 附近有语法错误。rn(所影响的行数为 1 行)rnrn请教一下错在哪里?多谢多谢!rn
请问这个SQL语句该怎么写?
我想读出库中dda字段所有以A7443开头的的数据但是我写成Select * From data where dda='A7443*'确不行!!!
请问这条SQL语句该怎么写
表1 字段1rn 0006901rn 0006902rn 0006903rn 0006904rnrn现在想把字段里面的内容变成:rn 字段1rn 0006905rn 0006906rn 0006907rn 0006908rn请问这条UPDATE语句该怎么写。。。
请问该怎么写这条sql语句?
表1:rn aaarn-------rn 1rn 2rn 3rnrn表2:rn a b crn----------------rn 1 2 3rn 1 2 3rn 1 2 3rn 2 3 1rn 2 3 1rn 2 3 1rnrn表2中三个字段a、b、c,其值都来源于表1的字段aaarnrn现想得出:rnrn a中出现的次数 b中出现的次数 c中出现的次数rn 1 3 0 3rn 2 3 3 0rn 3 0 3 3rnrn这条sql语句该怎么写呢?谢!rn
请问该SQL语句怎么写?
1.例如:某表test中列abc,rn只要列abc满足搜索内容中至少3个字符以上就查询出来。rn例如列abc中内容有“我的家里人”,然后输入“我的家人”,就能查出字段abc,如果输入“我的朋友”,就不能查出字段abc,因为字段abc不能满足搜索内容至少3个字符以上,请SQL语句怎么写?rnrnrn2.例如:某表test中列abc,rn只要列abc满足搜索内容中任意3个字符就查询出来。rn例如列abc中内容有“我的家里人”,然后输入“我的家人”,就能查出字段abc,如果输入“我的朋友”,就不能查出字段abc,因为字段abc不能满足搜索内容中任意3个字符,请SQL语句怎么写?rnrnrn知道怎么写的就麻烦麻烦跟小弟说下,小弟感激不尽,谢谢!rnrn
请问这个Sql语句该怎么写?
有两个表rn表一 code表rn字段 codename char(10)rn ifcause char(60)rnrn表二 check表rn bh char(10)rn name char(10)rn result char(10)rnrn其中表一的ifcause字段存放表二的result字段满足条件的条件语句 例如 substring(result,5,1)=1 或 substring(result,7,2)=10rnrn那么表一,表二的连接该怎么写rn我用rn select code.codename,check.bh,check.name from code left outer join check on code.ifcausern 和rn select code.codename,check.bh,check.name from code,check where code.ifcausern 都提示语句出错,这个连接语句该怎么写,或是用什么方法达到这种效果?rn
★请问这个sql语句该怎么写?
表A 名字TableA 具备以下字段:rn----------------------------rnid 学号 姓名 性别 班级rn----------------------------rn表B 名字TableB 具备以下字段:rn----------------------------rnid 学号 登录时间 登录IP 操作信息rn----------------------------rnTableA与TableB的对应关系是一对多,比方TableA有三条记录,在TableB中分别又对应了三条记录,也就TableB是9条记录。rnrn现在想显示 [color=#FF0000]TableB中 登录时间最大的那条记录信息[/color]与TableA一并显示:rn想显示成如下字段的三条记录:rnrnTableA.ID TableA.学号 TableA.姓名 TableA.性别 TableA.班级 TableB.登录时间 TableB.登录IP TableB.操作信息rnrn请问这个SQL数据该怎么写??
请问,这个SQL语句该怎么写
有两张表:T1和T2(部分字段被省略)rnrnT1rn-------------------------------rnID TIMErna 2001-12-12 05:25:25rnb 2001-12-13 05:25:25rnc 2001-12-11 05:25:25rnd 2001-12-16 05:25:25rnrnT2rn----------------------------------------rnTIME pIDrn2001-12-12 05:25:25 arn2001-12-13 05:25:25 brn2001-12-11 05:25:25 arn2001-12-16 05:25:25 crn2001-12-17 05:25:25 brn2001-12-19 05:25:25 arn2001-12-18 05:25:25 crnrn现在要对T1的ID字段排序(ID字段不重复),排序的依据是时间,即:若T1中的某个ID在T2中存在,则取出T2中pID对应于ID的离现在最近的那个时间,作为那个ID的排序时间;若T2中没有相应的ID(如上面的ID=d,在T2中不存在)则用T1的时间作为排序时间。要求时间按倒序排列。rnrnrn各位大哥我很急,请帮帮我rnrnrn
请问这样的sql语句该怎么写
[gLog]rnrnlogId luck_id userId invet logAddTime rn----------- ----------- ----------- ----------- ------------------------------------------------------ rn1 1 1 32 2009-06-17 15:14:05.560rn2 1 1 23 2009-06-17 15:14:15.327rn3 2 2 5 2009-06-17 15:14:24.653rn4 2 2 7 2009-06-17 15:14:31.187rn5 2 3 32 2009-06-17 15:14:06.000rn6 1 3 23 2009-06-17 15:14:15.000rn7 2 4 5 2009-06-17 15:14:25.000rn8 2 1 7 2009-06-17 15:14:31.000rnrn要求:rn1、每个字段都要选出rn2、选出每个用户(userId)的最好成绩(invet),即一个用户只有一条记录rn3、按时间(logAddTime)倒序
请问这个SQL语句该怎么写
表Table1,假设有两列rn数据如下:rna1 b1rn1001,1002 100.00rn1001 120.00rn1002 130.00rnrn要求查出的结果如下rna1 b1rn1001 100.00rn1002 100.00rn1001 120.00rn1002 130.00rnrn就是把第一行拆开来,a1列的数据是文本型,形式如下:1001,1002,1003rn请高手指教,SQL语句该怎样写,谢谢
请问一个SQL语句该怎么写?
Table1字段:rnRoleID(主键, int)rnOther11(..)rnOther12(..)rn......rnrnTable2字段:rnID(主键, int)rnRoleID(int)rnOther21(..)rnOther22(..)rn......rnrn两个表通过RoleID关联rn现在Table1中有很多记录rnTable2中RoleID=1的有30条记录rnrn现在的需求是把Table1中每一个RoleID都在Table2中弄30条出来,其内容与RoleID=1的记录除了RoleID和ID(自动增加)不同外,都相同
请问这样的SQL语句该怎么写.
如何用SQL语句找出表中某个字段中的值相同的两个或两个以上的记录???rnrn不用遍历
请问以下sql语句该怎么写?
表-1rn userNamern rn tomrn cakern Mikernrn表-2rnrnuserName beginTime endTimerntom 2010-11-2 8:00:00 2010-11-3 12:00:00rntom 2010-11-3 9:00:00 2010-11-5 12:00:00rnMike 2010-11-5 9:00:00 2010-11-7 12:00:00rnrnrnrn如何得到以下2条SQL语句rn(1) 在 表-2 中如何分组统计每个员工,开始时间和结束时间的时间差汇总,以分钟为单位rn(2) 如何得到以下人员名单,根据当前的服务器时间,在 表-2 中处于开始时间和结束时间的范围内
请问这样的SQL语句该怎么写
我服务器上的数据库有表Arnrn现在由于我在页面上增加了一个功能,导致要调整数据库中表A的结构rnrn想在页面上放个按钮,就想网络更新那样。在点一下按钮后通过SQL语句来更新表结构rnrn[code=SQL]"if 'AAA' not in (select name from sysobjects where type='u') CREATE TABLE [dbo].[AAA](rn [cid] [int] IDENTITY(1,1) NOT NULL,rn [status] [varchar](50) NULL CONSTRAINT [DF_AAA_state] DEFAULT ((1)),rn [updatetime] [smalldatetime] NULL,rn CONSTRAINT [PK_AAA] PRIMARY KEY CLUSTERED rn(rn [cid] ASCrn)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]rn) ON [PRIMARY][/code]rnrn目前我的代码中只能是如果数据库中没有表的话创建这么一个表,有什么办法是可以根据把旧表改成新表
请问这个SQL语句该怎么写???
在当前数据库testdata中 rn建表: rncreate table testtable(FILEID varchar(40)) rn rn创建链接服务器: rnexec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','172.16.99.90' rnexec sp_addlinkedsrvlogin 'srv_lnk','false',null,'eoa','lwg' rn rn我现在要这样实现: rnif 在当前数据库testdata中已存在表testtable rn则 先删除此表,再建表 rn rnif 链接服务器srv_lnk已存在 rn则 先删除此链接服务器,再创建链接服务器 rn rn请问上面的这两个SQL语句该怎么写???
请问这样的SQL语句该怎么写?
我要把A表中的数据全部检索出来放入B表中,但在这个过程中我要把结果中的“x”字段值除以2。rnrn请问这样的SQL语句该怎么写啊?
请问这个sql语句该怎么写?
数据表temprn两个字段id(int),cont(varchar2)rn增加一条记录,id为表中记录id最大值加1,cont为testrn目前的做法是用select max(id) from temp,然后再insert intorn不过这样要访问数据库两次,有没有办法一次完成?
请问高手 SQL语句该怎么写。
有这么一张表:rnrnSORDER KOTECD JSTSTM JSTETM WAREHUSFG(入库状态)rn04113510 2025 2010-04-03 11:12:00 2010-04-03 11:12:00 1rn04113510 2026 2010-04-03 11:36:00 2010-04-03 11:36:00 1rn04113511 2015 2010-04-03 02:10:00 2010-04-03 02:10:00 1rn04113511 2025 2010-04-03 08:38:00 2010-04-03 08:38:00 1rn04113511 2026 2010-04-03 08:45:00 2010-04-03 08:45:00 1rn04113540 2015 2010-04-02 22:50:00 2010-04-02 22:51:00 1rn04113540 2025 2010-04-03 20:06:00 2010-04-03 20:06:00 1rn04113540 2026 2010-04-03 20:33:00 2010-04-03 20:33:00 1rn04113550 2015 2010-04-02 22:49:00 2010-04-03 01:59:00 1rn04113550 2025 2010-04-03 22:11:00 2010-04-03 22:11:00 1rn04113550 2026 2010-04-03 22:21:00 2010-04-03 22:21:00 1rn04113560 2015 2010-04-03 01:59:00 2010-04-03 03:01:00 1rn04113560 2025 2010-04-04 01:02:00 2010-04-04 01:03:00 1rn04113560 2026 2010-04-04 01:08:00 2010-04-04 01:09:00 1rn04113630 2015 2010-04-03 09:43:00 2010-04-03 09:44:00 1rn04113630 2025 2010-04-03 15:13:00 2010-04-03 15:13:00 1rn04113630 2026 2010-04-03 15:33:00 2010-04-03 15:33:00 1rn04113640 2015 2010-04-03 10:48:00 2010-04-03 10:48:00 1rn04113640 2025 2010-04-03 17:35:00 2010-04-03 17:35:00 1rn04113640 2026 2010-04-03 17:58:00 2010-04-03 17:58:00 1rn04113650 2015 2010-04-03 10:48:00 2010-04-03 11:52:00 1rn04113650 2025 2010-04-03 21:38:00 2010-04-03 21:38:00 1rn04113650 2026 2010-04-03 21:44:00 2010-04-03 21:44:00 1rn04113660 2015 2010-04-03 11:52:00 2010-04-03 12:47:00 1rn04113660 2025 2010-04-03 18:16:00 2010-04-03 18:16:00 1rn04113660 2026 2010-04-03 18:25:00 2010-04-03 18:26:00 1rn04113670 2015 2010-04-03 12:48:00 2010-04-03 13:55:00 1rn04113670 2025 2010-04-03 21:48:00 2010-04-03 21:48:00 1rn04113670 2026 2010-04-03 21:49:00 2010-04-03 21:49:00 1rn04113680 2015 2010-04-03 14:23:00 2010-04-03 14:23:00 1rn04113680 2025 2010-04-04 00:44:00 2010-04-04 00:46:00 1rn......rnrnrn表中SORDER为表单号 KOTECD为工序号 JSTSTM为工序开始时间,JSTETM为工序结束时间。rnrn现在要统计每个表单从2015工序开始到2026工序结束,需要多少时间,以小时显示。rnrn请问高手 SQL语句该怎么写。rn
请问这句SQL语句该怎么写?
我在VS2008中先要实现程序中更改用户管理权限功能,如下图:rn[img=https://img-bbs.csdn.net/upload/201412/04/1417680689_362981.png][/img]rn数据库里面的表是rn[img=https://img-bbs.csdn.net/upload/201412/04/1417680820_80219.png][/img]rnpower表示权限级别rn[code=csharp]rnSqlCommand cmd = new SqlCommand("update tb_User set power='" + userpower + "' ", conn);rn cmd.ExecuteNonQuery();rn[/code]rn上面这行代码把所有的用户名的权限都同时修改为一样的,rn而我想根据第一个combox所选的用户和第二个combox所选的权限来更新不同的用户权限,rn后面应该跟上 where UserName =什么呢?rn请问这SQL语句该怎么写。
请问这个SQL 语句该怎么写
比如 主表有如下内容rnid name sexrn1 yq mrn2 qq frn3 p mrnrn子表有如下内容rnrnid js bsrn1 aaa 12rn1 bbb 22rn2 aaa 31rn2 bbb 43rnrn我想 查询出这样的结果:rnrnname aaa bbbrnyq 12 22 rnqq 31 43rnrnrn不知道我说的明白不?rnrnbtw: 每个主表的记录对应的子表的记录的条数是不一定的rnrn谢谢
请问这段sql语句该怎么写?
表(zzz)的某一个字段(如zz)为char型,长度为6。我现在要选出该字段中后四位字符为空的记录(如“aa ”)rn我写了一段,可是提示有错rnspace = space(4)rnselect "zzz"."zz"rninto :bufrnfrom "zzz"rnwhere (substring("zzz"."zz",3,4)) = :space; 提示在此行"."附近有语法错误rn或 (mid("zzz"."zz",3,4)) = :space;
请问这个sql语句该怎么写
有两个表 rninfo rn ID useridrn 1 200rn 2 201rn 3 202rnrninfo_listrn List_ID ID Schoolrn 1 1 arn 2 1 b rn 3 1 crn 4 2 drn 5 2 ern 6 3 frnrn两个表之间关联的字段是idrn如何写一个联接语句 把info 和info_list 相关联的最后一台记录显示出来 显示结果 如下图rn Id userid list_id schoolrn 1 200 3 crn 2 201 5 e rn 3 202 6 f
请问这样的sql语句该怎么写?
我有一张表用来保存新闻,rn表名:newsrnrnnewsid 主键,自动增长rnnewstitle 新闻标题rnnewstype 1表示头条新闻 0表示一般新闻rnrn请问如何得出这样的集:rn第一条记录是最新的头条新闻rn接下来的记录按照newid顺序排列?rnrn谢谢rn
请问这样的sql语句该怎么写????
表1rnrn进货表:T1rnrn 商品名称 仓库 数量rnrn 西服 西仓 100rn 西库 东仓 200rn 夏装 南仓 200rn 西库 东仓 300rn 夏装 西仓 200rnrn出货表:T2rnrn 商品名称 仓库 数量rnrn 西服 西仓 20rn 西库 东仓 50rn 夏装 南仓 50rn 西库 东仓 60rn 夏装 西仓 70rn 夏装 南仓 30rnrn最后得出库存表:T3rn 商品名称 仓库 数量rnrn 西服 西仓 80rn 西库 东仓 390rn 夏装 南仓 120rn 夏装 西仓 130rnrn就是算出库存多少,请问大家,该sql语句该怎么写,请大家帮帮忙阿!!!rnrn
请问该sql语句怎么写
a b c drn------------------------rnAA 1 LL DDrnAA 3 DD KKrnBB 3 DD KJKrnBB 2 SS DMrnCC 9 AA MMrnrn查询结果应该是rnAA 1 LL DDrnBB 2 SS KJKrnCC 9 AA MMrn也就是要把a列有相同值但字段b中最小的那一行查询出来rnrn我用select a, min(b) from table1 group by arn可以把a, b两列查出来rn但要是加上c,d列就不行了rnrnrn那么怎么写??
请问一个SQL语句该怎么写
原表数据如下:rnID AMOUT COLUMNNOrn821838 7275.72 3rn821838 52721.75 2rn821843 6762.13 3rn821843 27079.47 2rn821846 5513.56 3rnrn想要得到的结果:rnID AMOUT-1 AMOUNT-2rn821838 7275.72 52721.75rn821843 6762.13 27079.47rn821846 5513.56rnrn即,原表的AMOUT是由COLUMNNO 来区分的,现在要去掉列COLUMNNO,把由他区分的两列数据合并成一列。rnrn请教各位。rn谢谢。rn