我正在尝试为具有如下架构的矩阵表构建查询:
X | Y | Z | Disabled | OccupiedId |
--------------------------------------------
1 1 1 0 NULL
1 2 1 0 NULL
1 3 1 1 NULL
1 4 1 0 1
1 5 1 0 2
1 6 1 0 3
1 7 1 0 4
1 1 2 0 NULL
1 2 2 0 NULL
1 3 2 0 NULL
1 4 2 0 NULL
1 5 2 0 NULL
1 6 2 0 NULL
1 7 2 0 NULL
我想为 X、Z 分组并在 Y 上找到第一个可用位置。无论如何可用是未禁用且未占用。
在提供的示例中,此查询应返回:
X | Z | FreeY
--------------------------------------------
1 1 2
1 2 7
考虑到每个 (X, Z) 从末尾开始填充(MAX Y 为常数),查询应选择第一个空闲 Y(或最后一个占用的 Y)
我尝试了不同的方法但没有成功:(任何建议都非常感谢!亲切的问候,D。