Mysql 如何将一列中的所有行求和到两个联接表中?
这就是我的问题 这是我的桌子Mysql 如何将一列中的所有行求和到两个联接表中?,mysql,sql,sql-server,select,group-by,Mysql,Sql,Sql Server,Select,Group By,这就是我的问题 这是我的桌子 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#)
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#));
因此,通过我的查询,我得到了电影的名称和所有日期为8.11.14的电影的价格,并将它们放在第三个表中。我的问题是如何计算所有价格,比如:
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
我应该在查询中添加什么?这与SQL server有关吗?您不能对日期进行求和。您不想使用常规[date]=#8/11/2014#吗?我对access执行sql查询我不想对日期求和我想对价格求和,但在access的sql视图中
| Date | Price | General Price
+----------+--------+--------------
| 11.08.14 | $10 | $40,60
| 11.08.14 | $12 |
| 11.08.14 | $18,60 |
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'