22,301
社区成员




SELECT
eb.invoice_no,
e.equip_name,
e.unit,
isnull(dtl1.type_name, '') + ' ' + isnull(dtl.type_name, '') AS type_name,
eb.funds_source,
eb.buy_date,
eb.price,
SUM (eb.equip_num) AS num,
(eb.price * SUM(eb.equip_num)) AS total_price
FROM
AMS_EQUIP e
LEFT JOIN AMS_EQUIP_BUY eb ON e.buy_id = eb.buy_id
LEFT JOIN ams_type_record_relation r ON e.equip_id = r.record_id
AND r.use_name = 'equipAccount'
LEFT JOIN ams_type_detail dtl ON r.type_id = dtl.type_id
LEFT JOIN ams_type_detail dtl1 ON dtl.parent_id = dtl1.type_id
LEFT JOIN AMS_EQUIP_DEPT ed ON ed.equip_id = e.equip_id
${request.whereCondition}
GROUP BY
eb.invoice_no,
e.equip_name,
e.unit,
eb.funds_source,
eb.buy_date,
eb.price,
dtl1.type_name,
dtl.type_name
with tb(a,b) as
(
select null, 1 union all
select null, 2 union all
select 3, 3 union all
select 3, 4
)
select a, sum(b) from tb group by isnull(a,checksum(newid())), a
/*
a
----------- -----------
NULL 1
NULL 2
3 7
(3 行受影响)
*/
如果是,想办法把newid转换成invoice_no的数据类型,这里假设int,所以用checksum。