Я не уверен, что вы можете использовать PIVOT / UNPIVOT в Access 2007, если вы не можете использовать запрос UNION ... таблица DECLARE и вставка просто для того, чтобы пример работал автономно, вы бы использовали свои собственные таблицы .
DECLARE @table TABLE (
cod_amb int,
field_a varchar(10),
field_b varchar(10),
field_c varchar(10),
field_d varchar(10),
field_e varchar(10))
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (21,'N.A.','Fixed','N.A.','N.A.','Natural')
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (21,'Conif','Temp','N.A.','>5 years','Artificial');
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (21,'N.A.','Fixed','N.A.','N.A.','Natural');
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (24,'N.A.','Fixed','N.A.','N.A.','Natural');
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (24,'NR','Fixed','N.A.','<5 years','Natural');
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (24,'N.A.','Temp','N.A.','N.A.','Natural');
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (21,'N.A.','Fixed','N.A.','N.A.','Natural')
SELECT cod_amb, 'field_a' Field, field_a value FROM @table
UNION
SELECT cod_amb, 'field_b' Field, field_b value FROM @table
UNION
SELECT cod_amb, 'field_c' Field, field_c value FROM @table
UNION
SELECT cod_amb, 'field_d' Field, field_d value FROM @table
UNION
SELECT cod_amb, 'field_e' Field, field_e value FROM @table
Если у вас есть доступный SQL Server (или для других читателей SQL Server, которые здесь находятся), вы должны использовать UNPIVOT ... опять же, таблица DECLARE и вставка просто для того, чтобы пример работал автономно, вы должны использовать свой собственный таблицы.
DECLARE @table TABLE (
cod_amb int,
field_a varchar(10),
field_b varchar(10),
field_c varchar(10),
field_d varchar(10),
field_e varchar(10))
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (21,'N.A.','Fixed','N.A.','N.A.','Natural')
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (21,'Conif','Temp','N.A.','>5 years','Artificial');
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (21,'N.A.','Fixed','N.A.','N.A.','Natural');
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (24,'N.A.','Fixed','N.A.','N.A.','Natural');
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (24,'NR','Fixed','N.A.','<5 years','Natural');
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (24,'N.A.','Temp','N.A.','N.A.','Natural');
INSERT INTO @table(cod_amb,field_a,field_b,field_c,field_d,field_e)
VALUES (21,'N.A.','Fixed','N.A.','N.A.','Natural')
SELECT cod_amb, Field, Value
FROM
( SELECT cod_amb,field_a,field_b,field_c,field_d,field_e FROM @table
) SourceTable
UNPIVOT
(Value FOR Field IN
(field_a,field_b,field_c,field_d,field_e)
)AS unpvt;