不同的和不是不同的值

时间:2015-04-29 08:18:35

标签: sqlite

我有2张桌子,预订和文章:

预订

------------------------------
Id     |   Name   |     City |
------------------------------
 1     |  Mike    | Stockholm
 2     |  Daniel  | Gothenburg
 2     |  Daniel  | Gothenburg
 3     |  Andre   | Gothenburg (Majorna)

文章

-------------------------------------------------------------
ArticleId    |    Name       |    Amount |    ReservationId | 
-------------------------------------------------------------
10           |   Coconuts    |    1      |    1         
10           |   Coconuts    |    4      |    2     
11           |   Apples      |    2      |    2
12           |   Oranges     |    2      |    3

我想选择文章名称和Article.Amount per Articles.ArticleId和Reservations.City。

我的代码:

SELECT distinct r.ID,a.Name as ArticleName,
       sum(a.Amount) as ArticlesAmount,
       substr(r.City,1,3) as ToCityName 
FROM Reservations r 
INNER JOIN Articles a 
      on r.Id = a.ReservationId 
WHERE  a.Name <> '' 
GROUP BY ToCityName,a.ArticleId,a.Name 
ORDER BY ToCityName ASC

这给了我以下结果:

Id | ArticleName | ArticlesAmount | ToCityName

2  |  Coconuts   |   8            |   Got 
2  |  Apples     |   4            |   Got 
3  |  Oranges    |   2            |   Got 
1  |  Coconuts   |   1            |   Sto 

但我想:

Id | ArticleName | ArticlesAmount | ToCityName

2  |  Coconuts   |   4            |   Got 
2  |  Apples     |   2            |   Got 
3  |  Oranges    |   2            |   Got 
1  |  Coconuts   |   1            |   Sto 

请帮助,请解释:)

Fiddle

2 个答案:

答案 0 :(得分:2)

查看SQLFiddle

代码:

function detectmob() {
    if (window.innerWidth <= 768) {
        stellarActivated = false;
    } else {
        stellarActivated = true;
    }
}

您希望确保按每组显示的次数加总金额。

答案 1 :(得分:1)

我再次添加了文章以再次选择请求的行...这里是查询

users.forEach(function(user){ 
     user.pets = _.filter(pets,function(pet){
         return pet.user === user.id;
     });
});