这是一个奇怪的问题,但它带来了一个有趣的挑战;我一直在研究百万美元HTML矩阵(1,000 x 1,000)的旧概念,并且对更大的立方体的概念更感兴趣[就像Rubik的立方体但没有轴的主体]并试图弄清楚如何做它在SQL中,以便从中心订购。
中心块将是0,0,0然后需要编程围绕它的块的坐标(-1,0,0; -1,-1,0;等等等等第四)基本上扩展一层/层一层,使得从第一个核心块到第二个核心块的跳跃由26个块及其坐标组成,但我想我可以生成27个然后消除已经存在的块存储库表。
我想我正在那里做点什么,但关键是我希望把它们安排在另一张桌子上,这样你就可以通过触摸它来跳到立方体中的下一个块,就像三个维度螺旋。
任何建议都会很棒,我认为我现在只是搞乱创建嵌套立方体的概念,这不是最优雅的解决方案。
答案 0 :(得分:0)
声明@start int = 0,@ low int
声明@coord表(Coord int IDENTITY(1,1),x int,y int,z int) 声明@coord2表(x int,y int,z int) 声明@dimensions表(pos int)
而@start< = 3 开始 选择@low = @start * -1
delete from @coord2
delete from @dimensions
while @low <= @start
begin
insert into @dimensions select @low
select @low = @low + 1
end
insert into @coord (x,y,z)
select * from (select d.pos as x, e.pos as y, f.pos as z from @dimensions d cross join @dimensions e cross join @dimensions f) as a
where not exists (select * from @coord c WHERE a.x = c.x and a.y = c.y and a.z = c.z)
select @start = @start + 1
端
从@coord
中选择*