从列中获取记录,并将它们插入Access中的一行

时间:2015-01-06 19:17:46

标签: sql database ms-access

我正在使用Access数据库中的一个文件,该文件在一列中有一个收费列表,但我想将这些收费分散到多个不同的列中,但要将它们全部保存在同一行中。目前的设置如下:

      --type---------------Amount----
        Previous            1234.50
        Current             3456.54 
        Adjustments         123.00
     --------------------------------

我试图将这些费用转移到另一个设置的表中,其中字段标题是与第一个表不同的类型。我试图达到这个最终结果:

   ----Previous---------Current-------Adjustments---
        1234.50         3456.54       1123.00
   -------------------------------------------------

我已尝试运行查询,如果类型="上一个" AND"当前" AND"调整"但很明显,这并没有给出理想的结果,因为如果数量类型=所有三种类型,它只会提取金额,但事实并非如此。我怎么能得到我想要的结果呢。

2 个答案:

答案 0 :(得分:0)

尝试这样的事情:

INSERT INTO AnotherTable (Previous, Current, Adjustments)
SELECT TOP 1 (SELECT TOP 1 Amount FROM OriginalTable WHERE type = 'Previous') AS Previous,
(SELECT TOP 1 Amount FROM OriginalTable WHERE type = 'Current') AS Current,
(SELECT TOP 1 Amount FROM OriginalTable WHERE type = 'Adjustments') AS Adjustments
FROM OriginalTable

答案 1 :(得分:0)

没有对它进行过测试或其他任何事情,但不要玩这样的事情。我假设有3行与CustomerID有关。

TRANSFORM SUM(Amount)
SELECT CustomerID, Type, Amount 
FROM CurrentData 
GROUP BY customerID
PIVOT Type;