SELECT movies.name,
general.[date],
Sum(general.price) AS GeneralPrice
FROM movies
INNER JOIN general ON movies.IDmovie=general.IDmovie
GROUP BY movie.name, general.[date]
HAVING SUM(((general.[date])=#8/11/2014#));
所以这是我的查询。
这是我的表格。
TABLE 1 - MOVIES:
IDmovie | Name
--------+------------
1 | Something1
2 | Something2
3 | Something3
4 | Something4
TABLE 2 - GENERAL
IDmovie | Date | Price
--------+----------+---------
1 | 11.08.14 | $10
2 | 14.08.14 | $12
3 | 12.08.14 | $18,60
4 | 11.08.14 | $20
5 | 19.08.14 | $13
所以你怎么看我的查询我得到电影的名称和所有电影的价格与日期8.11.14并将他们放入第三个表。我的问题是如何汇总所有价格:
| Date | Price | General Price
+----------+--------+--------------
| 11.08.14 | $10 | $40,60
| 11.08.14 | $12 |
| 11.08.14 | $18,60 |
我应该在查询中添加什么内容?
答案 0 :(得分:0)
DECLARE @movies TABLE
(
IDmovie INT,
Name VARCHAR(50)
)
INSERT INTO @movies
VALUES (1,
'Something1'),
(2,
'Something2'),
(3,
'Something3'),
(4,
'Something4')
DECLARE @GENERAL TABLE
(
IDmovie INT,
[Date] DATE,
Price FLOAT
)
INSERT INTO @GENERAL
VALUES (1,
'11/aug/14',
10),
(2,
'14/aug/14',
12),
(3,
'11/aug/14',
18.60),
(4,
'11/aug/14',
20),
(5,
'19/aug/14',
13)
SELECT *
FROM @movies
SELECT *
FROM @GENERAL
SELECT g.[date],
g.Price,
(SELECT sum(g1.Price)
FROM @GENERAL g1
WHERE g1.Date = g.Date) AS general_price
FROM @movies m
INNER JOIN @GENERAL g
ON m.IDmovie = g.IDmovie
GROUP BY g.[date],
g.Price
HAVING g.[date] = '8/11/2014'