0

我遇到了以下问题:

我有一个名为“Pickauf_0110”的表,有约 80 列和约 60000 条记录。

我感兴趣的两列是:“nr_pickl”和“platz_von”。

“nr_pickl”列中的条目如下所示:

123456
123456
123457

“platz_von”列中的条目如下所示:

03-01-00-00 
03-02-00-00
04-01-00-00
05-06-03-02

这些列都不是键,因此记录不是唯一的。

这是我想知道的:

对于“nr_pickl”中的每个唯一条目,“platz_von”中有多少条目以“03”开头,多少条目以“04”开头,多少条目以“05”开头。

我的想法是使用三个不同的条件(platz_von like '03*'...)进行三重自连接,将它们相加,最后按 nr_pickl 分组。

这是我的 sql 查询失败并出现错误:

    SELECT 
         p1.nr_pickl,
         sum(p1.platz_von) as Gang_03,
         sum(p2.platz_von) as Gang_04,
         sum(p3.platz_von) as Gang_05
    FROM
        ((Pickauf_0110 as p1
    INNER JOIN
        Pickauf_0110 as p2 ON p1.nr_pickl = p2.nr_pickl)
    INNER JOIN
        Pickauf_0110 as p3 ON p1.nr_pickl = p3.nr_pickl)
    WHERE
        p1.platz_von like '03*' AND
        p2.platz_von like '04*' AND
        p3.platz_von like '05*'
    GROUP BY
       p1.nr_pickl

我知道我的查询不起作用,但我不知道我的错误在哪里以及我的方法是否正确。任何帮助表示赞赏!

4

1 回答 1

1
SELECT 
   p1.nr_pickl,
   sum(IIF(LEFT(p1.platz_von, 2) = "03", 1, 0) as Gang_03,
   sum(IIF(LEFT(p1.platz_von, 2) = "04", 1, 0) as Gang_04,
   sum(IIF(LEFT(p1.platz_von, 2) = "05", 1, 0) as Gang_05
FROM
   Pickauf_0110 as p1
GROUP BY p1.nr_pickl

编辑:我没有尝试过这个语法。但这应该适用于 MS-Access。

于 2013-10-23T09:15:35.727 回答