3 回答

TA貢獻1963條經(jīng)驗 獲得超6個贊
這個查詢...
SELECT ID, A, B, C, [Key 1] AS key_field
FROM tblUnpivotSource
UNION ALL
SELECT ID, A, B, C, [Key 2] AS key_field
FROM tblUnpivotSource
UNION ALL
SELECT ID, A, B, C, [Key 3] AS key_field
FROM tblUnpivotSource;
...返回此記錄集(使用示例表值作為tblUnpivotSource)...
ID A B C key_field
-- - - - ---------
1 x y z 3
2 x y z 57
1 x y z 199
2 x y z 234
1 x y z 452
2 x y z 452

TA貢獻1808條經(jīng)驗 獲得超4個贊
不幸的是,沒有簡單的方法可以通過訪問來做到這一點。您可以使用UNION來獲取每個值
SELECT ID, A, B, C, [Key 1] As key
FROM Table
WHERE [Key 1] = 3
UNION ALL
SELECT ID, A, B, C, [Key 1] As key
FROM Table
WHERE [Key 1] = 57
UNION ALL
SELECT ID, A, B, C, [Key 2] As key
FROM Table
WHERE [Key 2] = 199
UNION ALL
SELECT ID, A, B, C, [Key 2] As key
FROM Table
WHERE [Key 2] = 234
UNION ALL
SELECT ID, A, B, C, [Key 3] As key
FROM Table
WHERE [Key 3] = 452

TA貢獻1820條經(jīng)驗 獲得超2個贊
您可以創(chuàng)建一個以所有列名稱為值的輔助表(可以使用excel將表的第一行復(fù)制到excel>粘貼特殊>轉(zhuǎn)置)
在表中創(chuàng)建一個自動增量列,并為此列編制索引
創(chuàng)建一個新的交叉聯(lián)接查詢,如下所示
SELECT ID, A, B, C
, AUX_TABLE.KEY_FIELD
, DLookUp("[" & [AUX_TABLE].[KEY_FIELD] & "]","TABLE","[ID] = " & [TABLE].[ID]) AS KEY_VALUE
FROM TABLE, AUX_TABLE;
不利的一面是您必須AUX_TABLE保持這種狀態(tài)。但是,如果這是一次性的事情,那么這可能是一條路。
- 3 回答
- 0 關(guān)注
- 805 瀏覽
添加回答
舉報