行转列技巧实例


INSERT INTO goods_temp
SELECT
	a.goods_id,
  a.bn as 商品编码,
	a.`name` as 商品名称,
	a.common_name as 通用名,
	i.manufacturer as 生产厂家,
	a.cfProperty 处方分类,
	a.valid_period as 有效期,
	a.approval_number as 批准文号,
	a.storage_methods as  贮藏,
  MAX(CASE p.`name` when '适应症' THEN p.content else '' end) as 适应症,
  MAX(CASE p.`name` when '不良反应' THEN p.content else '' end) as 不良反应,
  MAX(CASE p.`name` when '禁忌' THEN p.content else '' end) as 禁忌,
  MAX(CASE p.`name` when '注意事项' THEN p.content else '' end) as 注意事项,
  MAX(CASE p.`name` when '药物相互作用' THEN p.content else '' end) as 药物相互作用,
  MAX(CASE p.`name` when '性状' THEN p.content else '' end) as 性状,
	MAX(CASE p.`name` when '剂型' THEN p.content else '' end) as 剂型,
	MAX(CASE p.`name` when '规格' THEN p.content else '' end) as 规格,
	MAX(CASE p.`name` when '用法用量' THEN p.content else '' end) as 用法用量,
	'' as 税务编码,
	'' as 生产厂家简称,
	'' as 英文名,
	i.unit as 包装单位,
	a.goods_barcode as 小包装条码,
	'' as 中包装条码,
	'' as 批准文号效期,
	'' as 大包装条码
FROM
	o2o_goods a
LEFT JOIN o2o_goods_info i ON a.info_id = i.info_id
LEFT JOIN o2o_goods_params p on a.goods_id=p.goods_id
WHERE
	a.approval_number LIKE '国药准字%'
OR a.approval_number LIKE 'Z%'
OR (
	a.approval_number LIKE 'S%'
	AND length(a.approval_number) = 9
	AND a.approval_number NOT LIKE '%/%'
)
OR (
	a.approval_number LIKE 'H%'
	AND a.approval_number NOT LIKE '%-%'
) GROUP BY a.goods_id;

复制链接,在浏览器打开
tomcat源码解析
https://study.163.com/course/introduction/1209535854.htm

Springmvc源码解析
https://study.163.com/course/introduction/1209536851.htm

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值