SQL查询没有生成正确的结果

时间:2015-09-27 05:02:39

标签: sql oracle

我有4张桌子:

  1. 拥有列的客户 - 用户名,密码,姓名等
  2. 包含列的书籍 - id,title,author等
  3. order_details with columns - id_order,id(books id)等
  4. user_order with columns - id_order,username,pass,email等
  5. 我想打印出包含order_date,图书标题,图书价格和图书数量的表格,其中描述了过去3个月内特定用户的订单历史记录

    我正在使用以下SQL查询:

    SELECT user_order.Order_Date, books.title, books.Price, Order_Details.Quantity
    from Customers INNER JOIN user_order ON Customers.username = user_order.username
    INNER JOIN Order_Details ON Order_Details.ID_Order = user_order.ID_Order
    INNER JOIN books ON books.id = order_Details.ID
    AND Customers.username = '".$username."' 
    where user_order.ORDER_DATE < ADD_MONTHS(user_order.ORDER_DATE, 3)
    

    但它给了我比预期更多的行数,且数量超过了预期的输出量。

    有人可以帮我纠正查询吗?

1 个答案:

答案 0 :(得分:0)

使用ADD_MONTHS命令,您将来会获得3个月的约会。因此,通过说ORDER_DATE < 3MonthsInFuture,您要求所有现有的订单日期。