【问题标题】:Find the date of the latest orders for a product and list all customers who have ordered that product on that date查找产品的最新订单日期并列出在该日期订购该产品的所有客户
【发布时间】:2015-05-12 03:43:07
【问题描述】:

我是 Microsoft Visual Studio C# 中的查询生成器,这是我目前拥有的代码,但我想显示最近订购特定商品的客户详细信息和放置日期。

任何帮助都将不胜感激,因为我陷入了困境。感谢您的宝贵时间。

SELECT Corder.Corder_No, Corder.Customer_No, Corder.Date_Placed, Customer.Name, 
       Product.Product_No, Product.Description
FROM  Corder 
      INNER JOIN Customer ON Corder.Customer_No = Customer.Custno 
      CROSS JOIN Product

【问题讨论】:

  • 几乎不可能在不查看您的数据库架构的情况下向您提出任何建议,因为仅查看您的查询就不清楚该架构。
  • 如何向您展示数据库架构 Andy?干杯。
  • 好吧,您可以使用问题标签下方的适当链接来编辑您的问题。描述存储与您的问题相关的数据的表和列。

标签: c# sql asp.net visual-studio-2010


【解决方案1】:

假设 Corder-table 有对 product_num 的引用,您可以尝试这样的操作:

SELECT DISTINCT 
    co.Corder_No, 
    co.Customer_No, 
    co.Date_Placed, 
    c.Name, 
    p.Product_No, 
    p.Description
FROM  Corder co 
INNER JOIN Customer c ON co.Customer_No = c.Custno                
INNER JOIN Product p ON p.Product_No = co.Product_No
WHERE co.Date_Placed = (
    SELECT MAX(Date_Placed) 
    FROM Corder co2 
    WHERE co2.Product_No=p.Product_No
)

【讨论】:

  • 猜测和假设是回答问题的不好方法。相反,首先从 OP 获取所有必需的信息。
  • 没有欢乐的伙伴。当我尝试将 MAX 函数放在 date_placed 列中时,从字符串转换日期时间时出现错误转换失败....
  • 好吧,正如 cmets 对您的问题所说,您必须先描述数据库,然后才能有人帮助您
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-03
  • 1970-01-01
相关资源
最近更新 更多