MySQL嵌套联盟替代方案

时间:2014-04-01 23:07:57

标签: mysql sql

我想在MySQL中获得一个子查询联合。仅这一点非常简单。

(subquery A)
 union
(subquery B limit 15)
 union
(subquery C limit 15)

但重要的是B和C的联合共有30条记录。如果B少于15,我需要C来填补余数。所以我试试这个:

(subquery B limit 15)
 union
(subquery C)
 limit 30

这就是我所需要的。一旦我重新添加A,导致嵌套联合,MySQL就会出现语法错误。

(subquery A)
 union
(
 (subquery B limit 15)
  union
 (subquery C)
  limit 30
)

有没有其他方法可以获得相同的最终结果?

1 个答案:

答案 0 :(得分:0)

可能像

(select x from a)
union 
(select * from 
 (
  (select y from b limit 15)
    union 
  (select z from c)
  limit 30
 ) as k
)