Microsoft Access SQL转换 - 数据透视表(获取结果)

时间:2014-08-13 18:55:06

标签: sql ms-access pivot transform

从这个SQL

SELECT Objetos.NReg, Objetos.Type, Objetos.Date, Campos.Text, Contenido.Value
FROM (Campos LEFT JOIN Contenido ON Campos.Id = Contenido.Id_Campo) LEFT JOIN Objetos ON Contenido.Id_Objeto = Objetos.Id
GROUP BY Objetos.NReg, Objetos.Type, Objetos.Date, Campos.Text, Contenido.Value, Campos.Id
ORDER BY Objetos.NReg, Campos.Id;

我有一张这样的表:

NRegType    Date    Text        Value
                    Year    
001 1               Title       Diccionario
001 1               Title       Traducir
001 1               Subtitle    Español-Ingles
002 1               Title       Diccionario
002 1               Subtitle    Inglés-Español
002 1               Editorial   Hispanoamericana

我希望显示如下:

NRegType    Date    Title.1     Title.2     SubTitle        Editorial       Year
001 1               Diccionario Traducir    Español-Ingles
002 2               Diccionario             Inglés-Español  Hispanoamericana

我得到的越多

TRANSFORM Min(Contenido.Value) AS VALORDE
SELECT Objetos.NReg, Objetos.Type, Objetos.Date
FROM Fields LEFT JOIN (Contenido LEFT JOIN Objetos ON Contenido.Id_Objeto = Objetos.Id)  ON Campos.Id = Contenido.Id_Campo
GROUP BY Objetos.NReg, Objetos.Type, Objetos.Date
PIVOT Campos.Text;

NRegType    Date    Year    Editorial           Subtitle            Title

001 1                                           Español-Ingles      Diccionario
002 1                       Hispanoamericana    Inglés-Español      Diccionario

上面有一个空字段。这可能吗? 我无法获得重复的字段标题值,也无法按照我想要的方式排序字段。 Table Campos是

Id  Texto
1   Title
2   Subtitle
3   Editorial
4   Year

Contenidos表是:

Id  Id_Objeto   Id_Campo    Value
1   1           1           Diccionario
2   1           2           Español-Ingles
3   2           1           Diccionario
4   2           2           Inglés-Español
5   2           3           Hispanoamericana
6   1           1           Traducir

Objetos是:

Id  NReg    Type    Date
1   001     1       
2   002     1       

不知道我能做什么就可以了......

0 个答案:

没有答案