【问题标题】:Need help to make SQL procedure using Northwind DB?在使用 Northwind DB 制作 SQL 过程时需要帮助吗?
【发布时间】:2021-04-20 19:52:53
【问题描述】:

我一直在尝试使用 Northwind 数据库创建一个 sql 查询来创建一个存储过程,以帮助我获取所有产品 ID 和第一次购买日期。

Selection 不能有重复的值(这是我一直在苦苦挣扎的地方)

我尝试过“Distinct”或“inner join (select ....)”

使用的罗斯文表:

订单详情 -> 有 ProductID 和 OrderID

OrderID -> 有 OrderDate

这是我目前得到的:

Create PROC GetProducts
as

   Select DISTINCT Products.ProductID, Orders.OrderDate 
   from [Order Details]
   inner join Products on [Order Details].ProductID = Products.ProductID
   inner join Orders on [Order Details].OrderID = Orders.OrderID

Exec GetProducts

输出:

输出应该是这样的,没有重复值

【问题讨论】:

  • 您使用的是哪个 dbms? (SQL Server?)

标签: sql-server tsql stored-procedures northwind


【解决方案1】:

您需要使用 group by 这样做:

SELECT
    Products.ProductID
    , MIN(Orders.OrderDate)
FROM
    [Order Details]
    INNER JOIN Products
        ON [Order Details].ProductID = Products.ProductID
    INNER JOIN Orders
        ON [Order Details].OrderID = Orders.OrderID
GROUP BY
    Products.ProductID;

【讨论】:

    猜你喜欢
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 2015-12-05
    • 2021-09-06
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    相关资源
    最近更新 更多