[SQL] 面试碰到一题不会QQ

楼主: deniel367 (dann)   2019-12-03 11:58:32
https://i.imgur.com/Gh8nZjG.jpg
如图,给定两个表,任务是产生一个表,该表必须包含每个人每个种类的交易记录(若有
多笔则加总),如无交易记录,则为0
请问这题SQL query该怎么写?感谢!
作者: konkonchou (卡卡猫)   2019-12-03 13:14:00
A left join B on xxxx , 金额字段 isnull(字段, 0)汇总就类推就可以了
楼主: deniel367 (dann)   2019-12-04 02:20:00
楼上,这样会碰到一个问题是:usr_id 102 只会显示ㄧ个row,但题目要求每个人的所有种类。貌似不能用leftjoin。
作者: ChingLan326 (總舵主)   2019-12-04 12:17:00
https://i.imgur.com/s7MR0cn.png这样吗? id和类别要相乘 用cross join再用子查询加总合计
楼主: deniel367 (dann)   2019-12-04 12:34:00
Yes! 感谢!好厉害关于你的语法,请问..在你的最上面的select中 假设有100个 distinct组合,那subquery的select是不是会被执行100次。
作者: ChingLan326 (總舵主)   2019-12-04 13:53:00
欸 应该是吧

Links booklink

Contact Us: admin [ a t ] ucptt.com