doufan6033 2016-11-14 19:37
浏览 13

在第二(连接)表的范围内有条件地连接两个表

I have two tables:

Table 1:

store_products
----------------
ID | name | sold
----------------
ID => INT
name => STRING
sold => INT

Table 2

store_product_views
---------------------
productID | timestamp
---------------------
productID => INT
timestamp => INT

The relationship is set up as one-to-many where there are multiple store_product_views for one store_product.

The code is set up to log into store_product_views a productID and timestamp whenever an item from store_products is viewed.

I want to generate data that gets the product ID, the product name, the number of sold products and the total views of that product within a range of timestamp. This works correctly if I leave out the AND views.timestamp >... part.

Here is the query:

SELECT store_products.ID as id, name, sold, COUNT(views.productID) AS views 
FROM store_products 
JOIN store_products_views AS views ON store_products.ID = views.productID 
    AND views.timestamp > '".$options->start."' AND views.timestamp < '".$options->end."' 
GROUP BY store_products.ID

$options->start and $options->end contain a timestamp that I want to filter for the range. The problem is I only get data when timestamp is it its max value in the table. If I set the $options->end value to get a subset of the data, I get nothing at all.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 我的数据无法存进链表里
    • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
    • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
    • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
    • ¥15 如何在炒股软件中,爬到我想看的日k线
    • ¥15 seatunnel 怎么配置Elasticsearch
    • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
    • ¥15 (标签-MATLAB|关键词-多址)
    • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
    • ¥500 52810做蓝牙接受端