我有两张包含以下数据的表
表“group1”:
id | sequenceNo
----+-----------
101 | 1
102 | 2
103 | 3
104 | 4
105 | 5
表“group2”:
id | sequenceNo
----+-----------
201 | 1
202 | 2
203 | 3
204 | 4
205 | 5
我有一个3:1的给定比例,它应该构建一组混合。
结果将是:
id
--
101
102
103
201
104
105
理想情况下,当其中一个组为空时,混合停止。
我已经将问题的解决方案实现为OO程序。然而, 我很好奇是否还有一个简单的SQL解决方案。
非常感谢,
MAIK
答案 0 :(得分:3)
UNION ALL 2个表,但是在第2个表的select中,你应该将SequenceNo列乘以3.(如果你希望它显示在第一列的第三列之后,可能是3.00001)。
<强>解决方案:强>
SELECT * FROM
(SELECT id, SequenceNo FROM Group1
UNION ALL
SELECT id, SequenceNo*3.00001 FROM Group2)
ORDER BY SequenceNo ASC