行轉列技巧實例


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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章