3 回答

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
這個(gè)查詢...
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貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
不幸的是,沒(méi)有簡(jiǎn)單的方法可以通過(guò)訪問(wèn)來(lái)做到這一點(diǎn)。您可以使用UNION來(lái)獲取每個(gè)值
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貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以創(chuàng)建一個(gè)以所有列名稱為值的輔助表(可以使用excel將表的第一行復(fù)制到excel>粘貼特殊>轉(zhuǎn)置)
在表中創(chuàng)建一個(gè)自動(dòng)增量列,并為此列編制索引
創(chuàng)建一個(gè)新的交叉聯(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)注
- 822 瀏覽
添加回答
舉報(bào)