MS Access SQL для репликации Excel vlookup на данные строки и имя столбца - PullRequest
0 голосов
/ 09 ноября 2018

У меня сейчас это работает в Excel, но из-за количества записей мне нужно перенести его в Access.

Таблица 1:

| LookupValue        | Object Name | Attribute  | Data  |
|--------------------|-------------|------------|-------|
| Object1_Attribute1 | Object1     | Attribute1 | Data1 |
| Object1_Attribute2 | Object1     | Attribute2 | Data2 |
| Object2_Attribute1 | Object2     | Attribute1 | Data3 |
| Object2_Attribute2 | Object2     | Attribute2 | Data4 |

(в действительности более 100 атрибутов)

Таблица 2 (предварительный просмотр):

| Object Name | Attribute1 | Attribute2 |
|-------------|------------|------------|
| Object1     |            |            |
| Object2     |            |            |

Таблица 2 (post-vlookup):

| Object Name | Attribute1 | Attribute2 |
|-------------|------------|------------|
| Object1     | Data1      | Data2      |
| Object2     | Data3      | Data4      |

Как мне воспроизвести это в Access?

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Рассмотрим MS Access ' запрос кросс-таблицы , который может принимать до 255 различных значений в столбце Атрибут :

TRANSFORM MAX(Data) As MaxData
SELECT [Object Name]
FROM mytable
GROUP BY [Object Name]
PIVOT [Attribute]
0 голосов
/ 09 ноября 2018

Я думаю, что вы можете сделать это с помощью условного агрегирования:

select object_name,
       max(iif(Attribute = "Attribute1", Data, null)) as Attribute1,
       max(iif(Attribute = "Attribute2", Data, null)) as Attribute2,
       . . .
from t
group by object_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...