我有一张按以下结构排列的桌子:
fake_id start end misc_data
------------------------------------------------------
1 101 105 ab
1 101 105 cd
1 101 105 ef
2 117 123 gh
2 117 123 ij
2 117 123 kl
2 117 123 mn
3 51 53 op
3 51 53 qr
注意假的字段不是真的一个主键,而是重复数倍于开始和结束时指定范围内不同奇数的数量。每个记录的 real id是该范围内的奇数之一。 我需要写入一个返回假的、错误的数据的查询, 以及包含这些奇数的另一列以生成一个真实的奇数, 具体如下 :
fake_id real_id misc_data
------------------------------------------
1 101 ab
1 103 cd
1 105 ef
2 117 gh
2 119 ij
2 121 kl
2 123 mn
3 51 op
3 53 qr
就我所知,无法保证序列中不会出现空白(例如,可能没有21-31范围的记录 ) 。 我如何告诉查询(或程序,但查询更可取 ), 对于每个带有特定假代号的记录,它应该从开始到结束之间返回下一个奇数?
还有, 是否有一种方法可以让错误数据值属于一个特定的真实身份? 以第二个表格为例, 我如何告诉询问“ AB” 属于真实的 101 而不是 103?
提前感谢。