A表一条数据对应B表13条如果A表有10条就要查询出10*13的记录130条 没有值的显示为空 比如 b表有产品1 产品2 a表数据 只有1条如果不存在b表关联数据有也要显示

17 篇文章 0 订阅

具体问题描述:https://ask.csdn.net/questions/763457#answer_821953

问题:

B表有13条数据 13个产品,
A表有1000条数据 ,

如果A不存在B表数据则把不存在B表的数据也查询出来显示 后面的库存 金额,等字段值为0 ,

简单点就是 A表一条数据对应B表13条如果A表有10条就要查询出10*13的记录130条 没有值的显示为空

比如 b表有产品1 产品2 a表数据 只有1条如果不存在b表关联数据有也要显示

产品1 1 left right union试过了 还有只查询 都没用

产品2 null

比如说a表id为1只有12个产品 但是产品表有13个 需要显示 13个产品数据没有存在a表的产品显示产品名称其它为空值

 参考代码:


select p.id pid,p.name pname,
(CASE
WHEN p.id = d.product_id  THEN d.id
else null
END) stockDetailId,
(CASE
WHEN p.id = d.product_id  THEN d.stock_id
else stock_id
END) stock,
(CASE
WHEN p.id = d.product_id  THEN d.product_id
else null
END) productId,

(CASE
WHEN p.id = d.product_id  THEN p.pic
else null
END) productPicUrl,

(CASE
WHEN p.id = d.product_id  THEN p.name
else null
END) productName,

(CASE
WHEN p.id = d.product_id  THEN p.sale_price
else 0
END) productPrice,

(CASE
WHEN p.id = d.product_id  THEN d.six_month_exp_num
else 0
END) sixMonthExpNum,

(CASE
WHEN p.id = d.product_id  THEN d.nine_month_exp_num
else 0
END) nineMonthExpNum,

(CASE
WHEN p.id = d.product_id  THEN d.product_num
else 0
END) productNum,


(CASE
WHEN p.id = d.product_id  THEN d.alar_info
else null
END) alarInfo,

(CASE
WHEN p.id = d.product_id  THEN d.product_price
else 0
END) product_price,

(CASE
WHEN p.id = d.product_id  THEN d.product_num
else 0
END) product_num


from wx_mini_product p,
wx_mini_product_stock_detail d 
group by p.id,d.stock_id
  ORDER BY d.stock_id;
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值