从两个不同表中的列中选择项目

时间:2012-08-03 10:32:46

标签: sql

我有两个表tabeleA和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链接。

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

这样的事情:

TableNew:

cat_name    cat_price

Man         104
Woman        21
General      87

请帮忙.. 感谢...

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

您可以使用INNER JOIN

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;

希望这有帮助。

答案 2 :(得分: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

INNER JOIN

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

答案 3 :(得分: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