case when优化查询

产品表product和库存表stock

产品表可能对应对条库存, 有可能没有库存

现在联查产品表和库存表, 要求显示产品表的所有产品(如果有库存显示库存没有被禁用的, 没有库存则显示产品信息)

 1 SELECT
 2   p.id,
 3   p.name,
 4   p.oem,
 5   s.id AS sid
 6 FROM
 7   yd_product AS p
 8 LEFT JOIN stock AS s ON s.pid = p.id
 9 WHERE
10   p.deleted = '0'
11 AND
12 
13  CASE
14 
15   WHEN s.forbidden IS NULL THEN
16   0
17   ELSE
18   s.forbidden
19 END = 0;

猜你喜欢

转载自www.cnblogs.com/muyibg/p/9248136.html