1

我有两张桌子 tableA 和 tableB ..

在表 A 中,我有列(名称) 在表 B 中,我有列(金额)

表 A:

cat_id      cat_name    

 1            Man
 2            Women
 3            General

表 B:

cat_id      cat_price
 1             12
 1             18
 1             34
 1             23
 2             21
 3             31
 1             21
 3             56

现在在这两个表中,我有名称和价格,它们由 cat_id 链接。

现在我想显示该特定名称的名称和价格,价格应该是特定类别的总和......

像这样的东西:

新表:

cat_name    cat_price

Man         104
Woman        21
General      87

请帮忙..谢谢...

4

4 回答 4

4
SELECT 
tA.cat_name, SUM(tB.cat_price) AS price 
FROM TableA tA
INNER JOIN TableB tB
  ON tA.cat_id=tB.cat_id
GROUP BY tA.cat_id
于 2012-08-03T10:39:16.463 回答
1

INNER JOIN您可以为此使用 an :

SELECT
    table_a.cat_name,
    SUM(table_b.cat_price) AS price
FROM
    table_a
INNER JOIN
    table_b
ON
    table_b.cat_id = table_a.cat_id
GROUP BY
    table_a.cat_name;

希望这可以帮助。

于 2012-08-03T10:37:50.683 回答
1
select a.cat_name,
       sum(b.cat_price) price
  from tablea a
 inner join tableb b
    on a.cat_id = b.cat_id
 group by a.cat_name

内连接

没有 Wiki Sql 文章的GROUP BY Sql Server 版本。

于 2012-08-03T10:39:18.837 回答
1
    select T1.cat_name, T2.total 
    from TableA T1 
    NATURAL JOIN (SELECT cat_id, sum(cat_price) as total 
                  FROM TableB GROUP BY cat_id) T2
于 2012-08-03T10:39:53.413 回答