|
|
USED是为了比较方便点排除不需要的连接,虽然写不出N个数的通用解法(SQL方式),
但是按这个思路想写几张牌就是几张牌,就是要预先计算的牌数量不同,
比方 6张 = 5张 * 1张 或 4张 * 2张,或者 3张*3张
5张 = 4张 * 1张 或 3张 * 2张
4张 = 3张 * 1张 或 2张 * 2张
3张 = 2张 * 1张
2张 = 是个人都能写出来
看到右边最多是 3张牌,所以 预先计算出3张牌的情况
然后 6张 = 3张(初始) * 递归 (操作符 * (1张 或 2张 或 3张))
对了,貌似你 varchar2(10)的长度是不够的?或者 oracle里面这个类型可以存20个字符? |
|