2

首先,我是 SQL 新手,在设置一个简单的存储过程时遇到了麻烦。我正在学习 SQL,在这里需要一些帮助。

设想:

  • 我有两张桌子,Fruits并且Oranges

  • Fruits有以下列

    • 水果ID
    • 水果季节
  • Oranges有以下列

    • 器官ID
    • 水果ID
    • 橙名

我想创建一个存储过程来返回Fruits一个额外的列计数,这个计数将是 id 中的水果总数Oranges

谢谢

4

2 回答 2

2

试试这个:

CREATE PROC ProcName
AS 
  SELECT f.Id, f.fruitSeason, COUNT(g.fruitId) 'Total Fruits in Oranges'
  FROM @fruits f 
  LEFT JOIN @Oranges g ON g.fruitId = f.Id
  GROUP BY f.Id, f.fruitSeason

这是一个现场演示

于 2012-10-01T13:03:05.247 回答
2

听起来你想要这个:

create procedure yourFruit
as
    select f.fruitid, 
        f.fruitSeason,
        o.cnt TotalFruitOranges
    from fruits f
    left join 
    (
        select count(*) cnt, fruitid
        from oranges
    ) o
        on f.fruitid = o.fruitid
GO
于 2012-10-01T13:04:18.730 回答