我现在可以在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(vlookup之后):
| Object Name | Attribute1 | Attribute2 |
|-------------|------------|------------|
| Object1 | Data1 | Data2 |
| Object2 | Data3 | Data4 |
如何在Access中复制它?
答案 0 :(得分:1)
考虑MS Access'crosstab query,它在 Attribute 列中最多可以包含255个不同的值:
TRANSFORM MAX(Data) As MaxData
SELECT [Object Name]
FROM mytable
GROUP BY [Object Name]
PIVOT [Attribute]
答案 1 :(得分:0)
我认为您可以通过条件聚合来做到这一点:
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;