--建一个函数 create function c_str(@b varchar(1),@c varchar(1),@d varchar(1)) returns varchar(1000) as begin declare @s varchar(1000) set @s='' select @s=@s+a from t where b=@b and c=@c and d=@d return @s end --查询 select dbo.c_str(b,c,d),b,c,d from t group by b,c,d
--查询 select top 1 dbo.c_str(b,c,d),b,c,d from t group by b,c,d
在线问
谢谢
什么类型都没关系,top 1 是只取第一条记录
create function c_str(@b varchar(1),@c varchar(1),@d varchar(1))
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s=''
select @s=@s+a from t where b=@b and c=@c and d=@d
return @s
end
--查询
select dbo.c_str(b,c,d),b,c,d
from t
group by b,c,d
select top 1 dbo.c_str(b,c,d),b,c,d
from t
group by b,c,d
我知道了,哈哈
SELECT xfwh.ls_rq, SUM(xfwh.cpsl * xfwh.wlsl * xfwh.wldj) AS chengben, table2.ls_renshu,
table2.js_zh, table2.js_dcsj, table2.js_sj, table2.xfsj, table2.js_gzsp, table2.js_ze,
table2.zhekou, CONVERT(numeric(18, 4),
table2.js_ze - SUM(xfwh.cpsl * xfwh.wlsl * xfwh.wldj)) AS maoli, CONVERT(numeric(18,
2), (table2.js_ze - SUM(xfwh.cpsl * xfwh.wlsl * xfwh.wldj)) / table2.js_ze * 100)
AS maolilu, table2.js_xj, table2.js_zp, table2.js_xyk, table2.js_shk, table2.js_gz,
table2.js_pd, table2.js_yh, table2.js_ml, table2.js_zksp,
CAST(table2.xfsj / 60 AS varchar(10))
+ '小时' + CAST(table2.xfsj % 60 AS varchar(10)) + '分钟' AS ff, table2.cc
FROM (SELECT xfjlb.ls_renshu, xfjlb.ls_fuwuyuan AS cc, table1.xfsj, table1.js_dcsj,
table1.js_sj, table1.js_gzsp, table1.js_ze, table1.js_zh, table1.zhekou,
table1.js_xj, table1.js_zp, table1.js_xyk, table1.js_shk, table1.js_gz,
table1.js_pd, table1.js_yh, table1.js_ml, table1.js_zksp
FROM (SELECT js_ze, DATEDIFF(minute, js_dcsj, js_sj) AS xfsj, js_dcsj, js_sj,
js_zh, js_gzsp, (js_sjje - js_ze + js_ml) AS zhekou, js_xj, js_zp,
js_xyk, js_shk, js_gz, js_pd, js_yh, js_ml, js_zksp
FROM jiesuan
GROUP BY js_dcsj, js_sj, js_gzsp, js_ze, js_zh, js_sjje, js_ml, js_xj, js_zp,
js_xyk, js_shk, js_gz, js_pd, js_yh, js_ml, js_zksp) table1 INNER JOIN
xfjlb ON table1.js_dcsj = xfjlb.ls_sj
GROUP BY xfjlb.ls_renshu, xfjlb.ls_fuwuyuan, table1.xfsj, table1.js_dcsj,
table1.js_sj, table1.js_gzsp, table1.js_ze, table1.js_zh, table1.zhekou,
table1.js_xj, table1.js_zp, table1.js_xyk, table1.js_shk, table1.js_gz,
table1.js_pd, table1.js_yh, table1.js_ml, table1.js_zksp) table2 INNER JOIN
xfwh ON table2.js_dcsj = xfwh.ls_rq
GROUP BY xfwh.ls_rq, table2.js_zh, table2.ls_renshu, table2.js_gzsp, table2.js_ze,
table2.zhekou, table2.js_xj, table2.js_zp, table2.js_xyk, table2.js_shk, table2.js_gz,
table2.js_ml, table2.js_pd, table2.js_yh, table2.js_zksp, table2.js_dcsj, table2.js_sj,
table2.xfsj, table2.cc
我在加上xfjlb.ls_fuwuyuan 之后,记录就变了,因为ls_fuwuyuan 有不同的值,你帮忙看看怎么改比较好啊
jiesuan中的字段 SJ ZH RENYUAN
6.00 210 XIAOZHANG
7.00 520 XIAOLI
xfjlb中的字段 renshu fuwuyuan dcsj
10 张 6.00
10 张 6.00
10 李 6.00
12 张 7.00
12 张 7.00
xfwh中的字段 sj cpsl je
6.00 1 10
6.00 2 5
6.00 1 10
7.00 1 10
7.00 1 5
我想得到如下结果
sj wh fuwuyuan renyuan
6.00 30 张李(或者张也可以) xiaozhang
7.00 15 张 xiaoli
我都得通过sj 联系,是一对多吧
另外再加一列是renshu
6.00 10
7.00 12