SELECT * FROM sys_ingredient igd
LEFT JOIN (
SELECT ingredient_id as id, GROUP_CONCAT(name SEPARATOR ',') not_rec FROM(
SELECT physical_signs_id as id, ingredient_id
FROM sys_ingredient_not_rec
) notRec JOIN sys_physical_signs phy USING(id)
GROUP BY id
) notRecT USING(id)
LEFT JOIN (
SELECT ingredient_id as id, GROUP_CONCAT(name SEPARATOR ',') rec FROM(
SELECT physical_signs_id as id, ingredient_id
FROM sys_ingredient_rec
) rec JOIN sys_physical_signs phy USING(id)
GROUP BY id
) recT USING(id)
SELECT * FROM sys_ingredient igd
RIGHT JOIN(
SELECT * FROM(
SELECT DISTINCT(ingredient_id) as id FROM sys_ingredient_rec
physical_signs_id in
#{item}
) recId
LEFT JOIN (
SELECT ingredient_id as id, GROUP_CONCAT(name SEPARATOR ',') rec FROM(
SELECT physical_signs_id as id, ingredient_id
FROM sys_ingredient_rec
) rec JOIN sys_physical_signs phy USING(id)
GROUP BY id
) recM USING(id)
INNER JOIN (
SELECT * FROM(
SELECT DISTINCT(ingredient_id) as id FROM sys_ingredient_not_rec
physical_signs_id in
#{item}
) notRecId
LEFT JOIN (
SELECT ingredient_id as id, GROUP_CONCAT(name SEPARATOR ',') not_rec FROM(
SELECT physical_signs_id as id, ingredient_id
FROM sys_ingredient_not_rec
) notRec JOIN sys_physical_signs phy USING(id)
GROUP BY id
) notRecM USING(id)
) notRecT USING(id)
) recT USING(id)
insert into sys_ingredient
name,type,protein_ratio,fat_ratio,carbon_ratio,area,remark,create_by,create_time,update_by,update_time,review_status,#{name},#{type},#{proteinRatio},#{fatRatio},#{carbonRatio},#{area},#{remark},#{createBy},#{createTime},#{updateBy},#{updateTime},#{reviewStatus},
insert into sys_ingredient_rec(ingredient_id, physical_signs_id) values
(#{item.ingredientId},#{item.recommandId})
insert into sys_ingredient_not_rec(ingredient_id, physical_signs_id) values
(#{item.ingredientId},#{item.notRecommandId})
delete from sys_ingredient_rec where ingredient_id=#{ingredientId}
delete from sys_ingredient_not_rec where ingredient_id=#{ingredientId}
delete from sys_ingredient_rec where ingredient_id in
#{id}
delete from sys_ingredient_not_rec where ingredient_id in
#{id}
update sys_ingredient
name = #{name},type = #{type},protein_ratio = #{proteinRatio},fat_ratio = #{fatRatio},carbon_ratio = #{carbonRatio},area = #{area},remark = #{remark},create_by = #{createBy},create_time = #{createTime},update_by = #{updateBy},update_time = #{updateTime},review_status = #{reviewStatus},
where id = #{id}
delete from sys_ingredient where id = #{id}
delete from sys_ingredient where id in
#{id}