使用group_concat(distinct(good.GOOD_ID)) as conn方法个group by 进行去除重复数据。例:
select
good.GOOD_ID AS goodId,
group_concat(distinct(good.GOOD_ID)) as conn,
good.CODE AS goodCode,
good.GOOD_NAME AS goodName,
good.STOCK_COST AS stockCost,
good.SELL_COST AS sellCost,
good.SALES_COST AS salesCost,
good.STANDARD AS standard,
good.PACKA AS goodPackage,
good.UNIT AS unit,
good.SHELFLIFE AS shelfLife,
good.REMARK AS goodRemark,
lib.NUMBER AS libNumber,
supp.NAME AS suppName,
p.DINGDNAHAO AS billsmark,
p.CYS_COST AS puthCost,
p.CYS_COST AS puthCysCost,
p.NUMBER AS number,
puth.PUTH_ID AS puthId,
p.REMARK AS puthRemark,
puth.STATE AS puthState,
puthDe.PUTH_DETA_ID AS puthDetaId,
puthDe.NUMBER AS puthDeNumber,
puthDe.REAL_NUMBER AS realNumber,
puthDe.CYS_COST AS puthDeCost,
puthDe.PRODUCE_DATE AS produceDate,
br.BREA_ID AS breaId,
br.NUMBER AS breaNumber,
br.BREA_TYPE AS breaType,
br.REMARK AS breaRemark,
breaDe.BREA_DETA_ID AS breaDetaId,
breaDe.RANK AS rank,
breaDe.NUMBER AS breaDeNumber,
breaDe.CYS_COST AS breaCost,
breaDe.REMARK AS breaDeRemark,
pd.NUMBER AS purcDeNumber
from
purc p left join purc_puthouse puth on puth.BILLSMARK=p.DINGDNAHAO
left join purc_puthouse_detail puthDe on puthDe.PUTH_ID=puth.PUTH_ID
left join brea br on puth.BILLSMARK= br.BILLSMARK
left join purc_detail pd on pd.PURC_ID=p.PURC_ID
left join brea_detail breaDe on breaDe.BREA_ID=br.BREA_ID,
lib_core_good good left join lib_inventory lib on good.GOOD_ID=lib.GOOD_ID
left join purc_supplier supp on good.SUPP_ID=supp.SUPP_ID
where good.GOOD_ID= pd.GOOD_ID and p.PURC_ID=#{purcId} group by good.GOOD_ID;
select
good.GOOD_ID AS goodId,
group_concat(distinct(good.GOOD_ID)) as conn,
good.CODE AS goodCode,
good.GOOD_NAME AS goodName,
good.STOCK_COST AS stockCost,
good.SELL_COST AS sellCost,
good.SALES_COST AS salesCost,
good.STANDARD AS standard,
good.PACKA AS goodPackage,
good.UNIT AS unit,
good.SHELFLIFE AS shelfLife,
good.REMARK AS goodRemark,
lib.NUMBER AS libNumber,
supp.NAME AS suppName,
p.DINGDNAHAO AS billsmark,
p.CYS_COST AS puthCost,
p.CYS_COST AS puthCysCost,
p.NUMBER AS number,
puth.PUTH_ID AS puthId,
p.REMARK AS puthRemark,
puth.STATE AS puthState,
puthDe.PUTH_DETA_ID AS puthDetaId,
puthDe.NUMBER AS puthDeNumber,
puthDe.REAL_NUMBER AS realNumber,
puthDe.CYS_COST AS puthDeCost,
puthDe.PRODUCE_DATE AS produceDate,
br.BREA_ID AS breaId,
br.NUMBER AS breaNumber,
br.BREA_TYPE AS breaType,
br.REMARK AS breaRemark,
breaDe.BREA_DETA_ID AS breaDetaId,
breaDe.RANK AS rank,
breaDe.NUMBER AS breaDeNumber,
breaDe.CYS_COST AS breaCost,
breaDe.REMARK AS breaDeRemark,
pd.NUMBER AS purcDeNumber
from
purc p left join purc_puthouse puth on puth.BILLSMARK=p.DINGDNAHAO
left join purc_puthouse_detail puthDe on puthDe.PUTH_ID=puth.PUTH_ID
left join brea br on puth.BILLSMARK= br.BILLSMARK
left join purc_detail pd on pd.PURC_ID=p.PURC_ID
left join brea_detail breaDe on breaDe.BREA_ID=br.BREA_ID,
lib_core_good good left join lib_inventory lib on good.GOOD_ID=lib.GOOD_ID
left join purc_supplier supp on good.SUPP_ID=supp.SUPP_ID
where good.GOOD_ID= pd.GOOD_ID and p.PURC_ID=#{purcId} group by good.GOOD_ID;