有一个数据表,里面的lh字段是这样写的:
L1-01 ……
L1-02 ……
L2-01 ……
L2-02 ……
L2-03 ……
我开始是这样写的:来统计出来L1有几组数据:
sql:='select top 100 left(lh,2)as 炉号,,count(*) as 数量 from zkd_scgl_zxjh where zhqr=''1'' group by left(lh,2)order by 炉号';
但有的lh很特殊,是这样的:
L1-01 ……
L1-02 ……
L2-01 ……
L2-02 ……
L2-03 ……
L3A-01 ……
L3A-02 ……
这样,有的lh我就需要left(lh,3)了,说白了,就是我需要-之前的数据作为lh统计。怎么写?
L1-01 ……
L1-02 ……
L2-01 ……
L2-02 ……
L2-03 ……
我开始是这样写的:来统计出来L1有几组数据:
sql:='select top 100 left(lh,2)as 炉号,,count(*) as 数量 from zkd_scgl_zxjh where zhqr=''1'' group by left(lh,2)order by 炉号';
但有的lh很特殊,是这样的:
L1-01 ……
L1-02 ……
L2-01 ……
L2-02 ……
L2-03 ……
L3A-01 ……
L3A-02 ……
这样,有的lh我就需要left(lh,3)了,说白了,就是我需要-之前的数据作为lh统计。怎么写?
access中用iif函数,sqlserver中用case..when语法
sql:='select top 100 left(lh,patindex('-',lh))as 炉号,,count(*) as 数量 from zkd_scgl_zxjh where zhqr=''1'' group by left(lh,patindex('-',lh))order by 炉号';
select top 100 left(lh,patindex('%-%',lh)) as aa,id from zkd_scgl_zxjh group by lh,left(lh,patindex('%-%',lh)),id order by id desc
显示出来的是L1-,和L3A-,
怎么才能不要那个‘-’呢?