求一个SQL语句,简单的,请进。(50分)

  • 主题发起人 主题发起人 张剑波
  • 开始时间 开始时间

张剑波

Unregistered / Unconfirmed
GUEST, unregistred user!
一个表有二个字段。
储存号,整数,4-10位,前3位代表仓库编码,后几位代表产品编码。
价值,实数。
以储存号的前3位(代表每个仓库)为组,求出每组的价值和。
 
kch:string;
kuh:=仓库编码;
('select sum(价值) from table where 储存号 like :储存号');
kuh:=kch+'%';
parabyname('储存号'):=kuh;
 
select sum(price) from table1 group by substring(save_number,4,6)
 
来晚了. :(
agree sportsman
 
select substring(save_number,4,6) as '仓库',sum(price) from table1 group by substring(save_number,4,6)
 
朋友们,储存号是整数不是string,
转换inttostr就行了吗?
我试过,不行。
 
用比较,
eg:from where id>333000 and id<333999
字段几位,补几位0(本办法),我也想知道关于integer的模糊查询
 
最笨的方法是用SQL派生出一个“仓库编码”的字段,再处理。
这样一来,该怎么做?
 
select sum(price)
from stores
group by substring(inttostr(storeNo),1,3)
 
你真的应该写成 String 类型,不过还有补救办法,但是前提是字段内容要等长:
select Trunc(save_number/1000000) as '仓库',sum(price) from table1 group by Trunc(save_number/1000000)
SQL Server 中的取整函数应该是 Trunc 吧,你可能需要根据不同的数据库引擎而定。
 
用字符型,前面几位朋友说的对。
如果用整型,可尝试以下方法:
select sum(价格) from 仓库 group by Copy(IntToStr(储存号)+Copy('0000000000',1,10-Length(IntToStr(储存号))),1,3);

 
多人接受答案了。
 
后退
顶部