Sql 十进制(18,0))) 否则“ 完+ 案例 当dimd为0时 “,D=”+转换(varchar,cast(dimd为十进制(18,0))) 否则“ 完+ 案例 那么当一角硬币零时 “,E=”+CONVERT(varchar,cast(dime为十进制(18,0))) 否则“ 完+ 案例 当dimf为0时 “,F=”+CONVERT(varchar,cast(dimf为十进制(18,0))) 否则“ 完+ 案例 当dimg为0时 “,G=”+CONVERT(varchar,cast(dimg为十进制(18,0))) 否则“ 完+ 案例 当dimn为0时 “,N=”+CONVERT(varchar,cast(dimn为十进制(18,0))) 否则“ 结束 )如图a所示,酒吧一览表详图b 其中a.typesize=b.typesize a.shapecode=b.shapecode 及 ( 案例 当b.dima为0时 “A=”+CONVERT(varchar,cast(b.dima为十进制(18,0))) 否则“ 完+ 案例 当b.dimb为0时 “,B=”+CONVERT(varchar,cast(B.dimb为十进制(18,0))) 否则“ 完+ 案例 当b.dimc为0时 “,C=”+CONVERT(varchar,cast(b.dimc为十进制(18,0))) 否则“ 完+ 案例 当b.dimd为0时 “,D=”+CONVERT(varchar,cast(b.dimd为十进制(18,0))) 否则“ 完+ 案例 当b.dime为0时 “,E=”+CONVERT(varchar,cast(b.dime为十进制(18,0))) 否则“ 完+ 案例 当b.dimf为0时 “,F=”+CONVERT(varchar,cast(b.dimf为十进制(18,0))) 否则“ 完+ 案例 当b.dimg0那么 “,G=”+CONVERT(varchar,cast(b.dimg为十进制(18,0))) 否则“ 完+ 案例 当b.dimn为0时 “,N=”+CONVERT(varchar,cast(b.dimn为十进制(18,0))) 否则“ 结束 )=a.尺寸 和a.CreatedDtTm=b.CreatedDtTm b.active=1 b.barid=@barid
从这里开始,如果没有DDL副本和一些行来测试这个答案,就变得越来越困难,但是如果您想按一些任意属性排序,您可以尝试以下方法:Sql 十进制(18,0))) 否则“ 完+ 案例 当dimd为0时 “,D=”+转换(varchar,cast(dimd为十进制(18,0))) 否则“ 完+ 案例 那么当一角硬币零时 “,E=”+CONVERT(varchar,cast(dime为十进制(18,0))) 否则“ 完+ 案例 当dimf为0时 “,F=”+CONVERT(varchar,cast(dimf为十进制(18,0))) 否则“ 完+ 案例 当dimg为0时 “,G=”+CONVERT(varchar,cast(dimg为十进制(18,0))) 否则“ 完+ 案例 当dimn为0时 “,N=”+CONVERT(varchar,cast(dimn为十进制(18,0))) 否则“ 结束 )如图a所示,酒吧一览表详图b 其中a.typesize=b.typesize a.shapecode=b.shapecode 及 ( 案例 当b.dima为0时 “A=”+CONVERT(varchar,cast(b.dima为十进制(18,0))) 否则“ 完+ 案例 当b.dimb为0时 “,B=”+CONVERT(varchar,cast(B.dimb为十进制(18,0))) 否则“ 完+ 案例 当b.dimc为0时 “,C=”+CONVERT(varchar,cast(b.dimc为十进制(18,0))) 否则“ 完+ 案例 当b.dimd为0时 “,D=”+CONVERT(varchar,cast(b.dimd为十进制(18,0))) 否则“ 完+ 案例 当b.dime为0时 “,E=”+CONVERT(varchar,cast(b.dime为十进制(18,0))) 否则“ 完+ 案例 当b.dimf为0时 “,F=”+CONVERT(varchar,cast(b.dimf为十进制(18,0))) 否则“ 完+ 案例 当b.dimg0那么 “,G=”+CONVERT(varchar,cast(b.dimg为十进制(18,0))) 否则“ 完+ 案例 当b.dimn为0时 “,N=”+CONVERT(varchar,cast(b.dimn为十进制(18,0))) 否则“ 结束 )=a.尺寸 和a.CreatedDtTm=b.CreatedDtTm b.active=1 b.barid=@barid,sql,function,group-by,grouping,sql-server-2016,Sql,Function,Group By,Grouping,Sql Server 2016,从这里开始,如果没有DDL副本和一些行来测试这个答案,就变得越来越困难,但是如果您想按一些任意属性排序,您可以尝试以下方法: 选择DISTINCT, [字体大小], [ShapeCode], 案例 当dima为0时 “A=”+CONVERT(varchar,cast(dima为十进制(18,0))) 否则“ 完+ 案例 当dimb为0时 “,B=”+CONVERT(varchar,cast(dimb为十进制(18,0))) 否则“ 完+ 案例 当dimc为0时 “,C=”+CONVERT(var
选择DISTINCT,
[字体大小],
[ShapeCode],
案例
当dima为0时
“A=”+CONVERT(varchar,cast(dima为十进制(18,0)))
否则“
完+
案例
当dimb为0时
“,B=”+CONVERT(varchar,cast(dimb为十进制(18,0)))
否则“
完+
案例
当dimc为0时
“,C=”+CONVERT(varchar,cast(dimc为十进制(18,0)))
否则“
完+
案例
当dimd为0时
“,D=”+转换(varchar,cast(dimd为十进制(18,0)))
否则“
完+
案例
那么当一角硬币零时
“,E=”+CONVERT(varchar,cast(dime为十进制(18,0)))
否则“
完+
案例
当dimf为0时
“,F=”+CONVERT(varchar,cast(dimf为十进制(18,0)))
否则“
完+
案例
当dimg为0时
“,G=”+CONVERT(varchar,cast(dimg为十进制(18,0)))
否则“
完+
案例
当dimn为0时
“,N=”+CONVERT(varchar,cast(dimn为十进制(18,0)))
否则“
结束
作为维度
从bar_明细表_详情
其中活动=1
和barid=@barid
为了包含“顶部评论”,如果这意味着发布的第一条评论,那么像这样的东西就可以了:
SELECT DISTINCT ,
[TypeSize] ,
[ShapeCode] ,
CASE
WHEN dima <> 0 THEN
'A=' + CONVERT(varchar, cast(dima AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimb <> 0 THEN
', B=' + CONVERT(varchar, cast(dimb AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimc <> 0 THEN
', C=' + CONVERT(varchar, cast(dimc AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimd <> 0 THEN
', D=' + CONVERT(varchar, cast(dimd AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dime <> 0 THEN
', E=' + CONVERT(varchar, cast(dime AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimf <> 0 THEN
', F=' + CONVERT(varchar, cast(dimf AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimg <> 0 THEN
', G=' + CONVERT(varchar, cast(dimg AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimn <> 0 THEN
', N=' + CONVERT(varchar, cast(dimn AS decimal(18, 0)))
ELSE ''
END
AS dimension
FROM bar_schedule_detail
WHERE active = 1
AND barid = @BarId
SELECT DISTINCT ,
[TypeSize] ,
[ShapeCode] ,
CASE
WHEN dima <> 0 THEN
'A=' + CONVERT(varchar, cast(dima AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimb <> 0 THEN
', B=' + CONVERT(varchar, cast(dimb AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimc <> 0 THEN
', C=' + CONVERT(varchar, cast(dimc AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimd <> 0 THEN
', D=' + CONVERT(varchar, cast(dimd AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dime <> 0 THEN
', E=' + CONVERT(varchar, cast(dime AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimf <> 0 THEN
', F=' + CONVERT(varchar, cast(dimf AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimg <> 0 THEN
', G=' + CONVERT(varchar, cast(dimg AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimn <> 0 THEN
', N=' + CONVERT(varchar, cast(dimn AS decimal(18, 0)))
ELSE ''
END
AS dimension
FROM bar_schedule_detail
WHERE active = 1
AND barid = @BarId
从中选择a.*,b
(
挑选
[字体大小],
[ShapeCode],
案例
当c.dima为0时
“A=”+CONVERT(varchar,cast(c.dima为十进制(18,0)))
否则“
完+
案例
当c.dimb为0时
“,B=”+CONVERT(varchar,cast(c.dimb为十进制(18,0)))
否则“
完+
案例
当c.dimc为0时
“,C=”+CONVERT(varchar,cast(C.dimc为十进制(18,0)))
否则“
完+
案例
当c.dimd为0时
“,D=”+CONVERT(varchar,cast(c.dimd为十进制(18,0)))
否则“
完+
案例
当c.dime为0时
“,E=”+CONVERT(varchar,cast(c.dime为十进制(18,0)))
否则“
完+
案例
当c.dimf为0时
“,F=”+CONVERT(varchar,cast(c.dimf为十进制(18,0)))
否则“
完+
案例
当c.dimg0时
“,G=”+CONVERT(varchar,cast(c.dimg为十进制(18,0)))
否则“
完+
案例
当c.dimn为0时
“,N=”+CONVERT(varchar,cast(c.dimn为十进制(18,0)))
否则“
结束
作为维度,
最小值(c.CreatedDtTm)作为CreatedDtTm
来自钢筋混凝土明细表详图c
其中活动=1
和barid=@barid
分组
[字体大小],
[ShapeCode],
案例
当dima为0时
“A=”+CONVERT(varchar,cast(dima为十进制(18,0)))
否则“
完+
案例
当dimb为0时
“,B=”+CONVERT(varchar,cast(dimb为十进制(18,0)))
否则“
完+
案例
SELECT DISTINCT ,
[TypeSize] ,
[ShapeCode] ,
CASE
WHEN dima <> 0 THEN
'A=' + CONVERT(varchar, cast(dima AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimb <> 0 THEN
', B=' + CONVERT(varchar, cast(dimb AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimc <> 0 THEN
', C=' + CONVERT(varchar, cast(dimc AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimd <> 0 THEN
', D=' + CONVERT(varchar, cast(dimd AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dime <> 0 THEN
', E=' + CONVERT(varchar, cast(dime AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimf <> 0 THEN
', F=' + CONVERT(varchar, cast(dimf AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimg <> 0 THEN
', G=' + CONVERT(varchar, cast(dimg AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimn <> 0 THEN
', N=' + CONVERT(varchar, cast(dimn AS decimal(18, 0)))
ELSE ''
END
AS dimension
FROM bar_schedule_detail
WHERE active = 1
AND barid = @BarId
select a.*, b.remark from
(
SELECT
[TypeSize] ,
[ShapeCode] ,
CASE
WHEN c.dima <> 0 THEN
'A=' + CONVERT(varchar, cast(c.dima AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimb <> 0 THEN
', B=' + CONVERT(varchar, cast(c.dimb AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimc <> 0 THEN
', C=' + CONVERT(varchar, cast(c.dimc AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimd <> 0 THEN
', D=' + CONVERT(varchar, cast(c.dimd AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dime <> 0 THEN
', E=' + CONVERT(varchar, cast(c.dime AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimf <> 0 THEN
', F=' + CONVERT(varchar, cast(c.dimf AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimg <> 0 THEN
', G=' + CONVERT(varchar, cast(c.dimg AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimn <> 0 THEN
', N=' + CONVERT(varchar, cast(c.dimn AS decimal(18, 0)))
ELSE ''
END
AS dimension,
min(c.CreatedDtTm) as CreatedDtTm
FROM bar_schedule_detail c
WHERE active = 1
AND barid = @BarId
GROUP BY
[TypeSize] ,
[ShapeCode] ,
CASE
WHEN dima <> 0 THEN
'A=' + CONVERT(varchar, cast(dima AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimb <> 0 THEN
', B=' + CONVERT(varchar, cast(dimb AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimc <> 0 THEN
', C=' + CONVERT(varchar, cast(dimc AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimd <> 0 THEN
', D=' + CONVERT(varchar, cast(dimd AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dime <> 0 THEN
', E=' + CONVERT(varchar, cast(dime AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimf <> 0 THEN
', F=' + CONVERT(varchar, cast(dimf AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimg <> 0 THEN
', G=' + CONVERT(varchar, cast(dimg AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimn <> 0 THEN
', N=' + CONVERT(varchar, cast(dimn AS decimal(18, 0)))
ELSE ''
END
) as a, bar_schedule_detail b
where a.typesize = b.typesize
and a.shapecode = b.shapecode
and
(
CASE
WHEN b.dima <> 0 THEN
'A=' + CONVERT(varchar, cast(b.dima AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimb <> 0 THEN
', B=' + CONVERT(varchar, cast(b.dimb AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimc <> 0 THEN
', C=' + CONVERT(varchar, cast(b.dimc AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimd <> 0 THEN
', D=' + CONVERT(varchar, cast(b.dimd AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dime <> 0 THEN
', E=' + CONVERT(varchar, cast(b.dime AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimf <> 0 THEN
', F=' + CONVERT(varchar, cast(b.dimf AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimg <> 0 THEN
', G=' + CONVERT(varchar, cast(b.dimg AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimn <> 0 THEN
', N=' + CONVERT(varchar, cast(b.dimn AS decimal(18, 0)))
ELSE ''
END
) = a.dimension
and a.CreatedDtTm = b.CreatedDtTm
and b.active = 1
and b.barid = @BarId
SELECT DISTINCT ,
[TypeSize] ,
[ShapeCode] ,
CASE
WHEN dima <> 0 THEN
'A=' + CONVERT(varchar, cast(dima AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimb <> 0 THEN
', B=' + CONVERT(varchar, cast(dimb AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimc <> 0 THEN
', C=' + CONVERT(varchar, cast(dimc AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimd <> 0 THEN
', D=' + CONVERT(varchar, cast(dimd AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dime <> 0 THEN
', E=' + CONVERT(varchar, cast(dime AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimf <> 0 THEN
', F=' + CONVERT(varchar, cast(dimf AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimg <> 0 THEN
', G=' + CONVERT(varchar, cast(dimg AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimn <> 0 THEN
', N=' + CONVERT(varchar, cast(dimn AS decimal(18, 0)))
ELSE ''
END
AS dimension
FROM bar_schedule_detail
WHERE active = 1
AND barid = @BarId
select a.*, b.remark from
(
SELECT
[TypeSize] ,
[ShapeCode] ,
CASE
WHEN c.dima <> 0 THEN
'A=' + CONVERT(varchar, cast(c.dima AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimb <> 0 THEN
', B=' + CONVERT(varchar, cast(c.dimb AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimc <> 0 THEN
', C=' + CONVERT(varchar, cast(c.dimc AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimd <> 0 THEN
', D=' + CONVERT(varchar, cast(c.dimd AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dime <> 0 THEN
', E=' + CONVERT(varchar, cast(c.dime AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimf <> 0 THEN
', F=' + CONVERT(varchar, cast(c.dimf AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimg <> 0 THEN
', G=' + CONVERT(varchar, cast(c.dimg AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN c.dimn <> 0 THEN
', N=' + CONVERT(varchar, cast(c.dimn AS decimal(18, 0)))
ELSE ''
END
AS dimension,
min(c.CreatedDtTm) as CreatedDtTm
FROM bar_schedule_detail c
WHERE active = 1
AND barid = @BarId
GROUP BY
[TypeSize] ,
[ShapeCode] ,
CASE
WHEN dima <> 0 THEN
'A=' + CONVERT(varchar, cast(dima AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimb <> 0 THEN
', B=' + CONVERT(varchar, cast(dimb AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimc <> 0 THEN
', C=' + CONVERT(varchar, cast(dimc AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimd <> 0 THEN
', D=' + CONVERT(varchar, cast(dimd AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dime <> 0 THEN
', E=' + CONVERT(varchar, cast(dime AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimf <> 0 THEN
', F=' + CONVERT(varchar, cast(dimf AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimg <> 0 THEN
', G=' + CONVERT(varchar, cast(dimg AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN dimn <> 0 THEN
', N=' + CONVERT(varchar, cast(dimn AS decimal(18, 0)))
ELSE ''
END
) as a, bar_schedule_detail b
where a.typesize = b.typesize
and a.shapecode = b.shapecode
and
(
CASE
WHEN b.dima <> 0 THEN
'A=' + CONVERT(varchar, cast(b.dima AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimb <> 0 THEN
', B=' + CONVERT(varchar, cast(b.dimb AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimc <> 0 THEN
', C=' + CONVERT(varchar, cast(b.dimc AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimd <> 0 THEN
', D=' + CONVERT(varchar, cast(b.dimd AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dime <> 0 THEN
', E=' + CONVERT(varchar, cast(b.dime AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimf <> 0 THEN
', F=' + CONVERT(varchar, cast(b.dimf AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimg <> 0 THEN
', G=' + CONVERT(varchar, cast(b.dimg AS decimal(18, 0)))
ELSE ''
END +
CASE
WHEN b.dimn <> 0 THEN
', N=' + CONVERT(varchar, cast(b.dimn AS decimal(18, 0)))
ELSE ''
END
) = a.dimension
and a.CreatedDtTm = b.CreatedDtTm
and b.active = 1
and b.barid = @BarId
ORDER BY
substring(a.TypeSize,1,1) desc,
substring(a.TypeSize,2,len(a.TypeSize)-1)