a 表
id name
1   苹果
2   梨
3  香蕉b表
member_id  product_id num
1                      2             1a表id=b表product_id
现在查出所有产品会员1购买了多少数量

会员id  产品   数量
1         苹果    0或null
1         梨       1
1         香蕉    0或null一句sql能查出嘛,用左联只能查出一条

解决方案 »

  1.   

    select b.member_id,a.name,b.num from a 表 a left join b 表 b on a.id=b.product_id where b.member_id=1
      

  2.   

    SELECT * 
    FROM  `cx_product` AS a
    LEFT JOIN cx_record AS b ON a.id = b.product_id
    WHERE member_id =1
    OR member_id IS NULL 找到方法了
      

  3.   


    你这样查是不行的,如果cx_record这张表里面有member_id=2的会员买了product_id=1的产品 上述sql的结果就不是你所期望的了,建议使用2楼的sql语句辅助程序实现,这种问题的一般做法应该是在程序中
      

  4.   

    大致这么写select c.name, t.id, b.num
       from a
         left join  (select * from a where a.id=2) t on a.name=t.name
         left join b on t.id=b.product_id
    name id num 
    苹果   
    梨    2   1 
    香蕉 
    让 id 也都出现,估计不可以
      

  5.   


    你这样查是不行的,如果cx_record这张表里面有member_id=2的会员买了product_id=1的产品 上述sql的结果就不是你所期望的了,建议使用2楼的sql语句辅助程序实现,这种问题的一般做法应该是在程序中怎么辅助?2楼的是一般的左联啊,就是因为这个左联不行所以才来问的,发现我那个也不行