我正在使用旧版视图,该视图的键返回多个数据子集,我希望这些数据子集可以作为单独的行。返回的示例:
|a |b |cStartQty |cUpdatedQty |dStartQty |dUpdatedQty |
|1 |2 |10 |20 |15 |20 |
|2 |4 |11 |18 |16 |21 |
我想要返回的是类似的东西
|a |b |Account |StartQty |UpdatedQty |
|1 |2 |cXX |10 |20 |
|1 |2 |dXX |15 |21 |
|2 |4 |cXX |11 |18 |
|2 |4 |dXX |16 |21 |
起初我以为我可以用一连串的联合来做到这一点,但这将需要在视图上进行许多冗余查询(大约有15个子集)。除此之外,我真的不知道如何进行。如有必要,我想我可能必须将此视图包装在proc中并走那条路线。
答案 0 :(得分:0)
您可以使用UNNEST:
SELECT
a,
b,
UNNEST(ARRAY[cStartQty, dStartQty]) as StartQty,
UNNEST(ARRAY[cUpdateQty, dUpdateQty]) as UpdateQty
FROM mytable
**更新**
对不起,我没有注意到您正在使用sybase。 我不知道sybase是否支持unnest,但我将保留答案,看是否有人可以确认sybase支持。建议的查询可在Postgresql上使用。