SQLiteStudio:从价格目录中获取最新价格

琼斯

我对SQL还不陌生,因此我试图在特定日期获取产品交易的价格,即在价格目录中查找交易之前该产品的最新价格。

具体来说,我有以下两个表:

Transactions                                Catalog 
----------------------------------------------------------------------------
ProductID | Design     | Transaction_DT     ProductID | Price | Effective_DT

1         | Plaid      | 5/14/2016          1         | 20    | 4/22/2016
2         | Solid      | 3/26/2016          1         | 10    | 5/2/2016
3         | PolkaDot   | 4/12/2016          1         | 5     | 5/15/2016
4         | Solid      | 4/24/2016          2         | 50    | 3/22/2016
5         | PolkaDot   | 2/24/2016          2         | 25    | 4/1/2016
6         | PinStripe  | 3/29/2016          2         | 10    | 4/2/2016
                                            3         | 30    | 4/5/2016
                                            3         | 25    | 4/9/2016
                                            3         | 22    | 4/12/2016
                                            4         | 12    | 3/15/2016
                                            4         | 8     | 3/27/2016
                                            4         | 6     | 4/25/2016
                                            5         | 15    | 2/23/2016
                                            5         | 11    | 2/25/2016
                                            5         | 6     | 2/28/2016
                                            6         | 26    | 2/2/2016
                                            6         | 17    | 3/19/2016
                                            6         | 13    | 5/16/2016

我输入了以下代码:

SELECT Transactions.ProductID,
       Catalog.Price,
       Transactions.Transaction_DT,
       Transactions.Design
  FROM Transactions
       LEFT JOIN
       Catalog ON Transactions.ProductID = Catalog.ProductID AND
       Catalog.Effective_DT = (
                                  SELECT MAX(Effective_DT)
                                    FROM Catalog
                                   WHERE Effective_DT <= Transactions.Transactions DT
                              )

并获得以下输出:

ProductID | Price | Transaction_DT | Design

1         | Null  | 5/14/2016      | Plaid
2         | 50    | 3/26/2016      | Solid
3         | 22    | 4/12/2016      | PolkaDot
4         | Null  | 4/24/2016      | Solid
5         | 15    | 2/24/2016      | PolkaDot
6         | Null  | 3/29/2016      | PinStripe

我想将产品1、4和6的价格分别返回10、8和17(除了正确输出的正确价格),而不是我得到的Null值。关于如何获得适当结果的任何想法?

您忘记了通过productID过滤相关查询。您没有得到正确的产品最新日期。您需要使用以下查询:

SELECT Transactions.ProductID,
       Catalog.Price,
       Transactions.Transaction_DT,
       Transactions.Design
  FROM Transactions
       LEFT JOIN
       Catalog ON Transactions.ProductID = Catalog.ProductID AND
       Catalog.Effective_DT = (
                                  SELECT MAX(Effective_DT)
                                    FROM Catalog
                                   WHERE Effective_DT <= Transactions.Transactions_DT 
                                     and ProductID = Transactions.ProductID
                              )

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取每月的最新价格

来自分类Dev

在T-SQL中获取所有最新价格的价格变化

来自分类Dev

商品的最新价格

来自分类Dev

如何基于Excel中的最新日期获取产品价格

来自分类Dev

如何根据最新日期从 group by 查询中获取最高价格

来自分类Dev

如何从表格中获取最近的价格变化

来自分类Dev

OpenIAB-如何从库存中获取价格?

来自分类Dev

在mysql中获取价格最高的id

来自分类Dev

SQL-如何根据生效日期获取最新价格?

来自分类Dev

Magento:需要根据目录价格规则获取产品集合

来自分类Dev

SQL Server中多个表的最新日期和价格

来自分类Dev

获取蒸汽价格

来自分类Dev

从 JSON 获取价格

来自分类Dev

目录价格规则在午夜后消失在magento网站中

来自分类Dev

目录价格规则在午夜后消失在magento网站中

来自分类Dev

在WooCommerce中在价格之前添加常规价格

来自分类Dev

从可选价格中删除原始价格

来自分类Dev

投影最新价格,并检查先前价格与之相交的地方

来自分类Dev

获取价格范围起始价格和最终价格之间的费用价格

来自分类Dev

mongodb中的排序价格

来自分类常见问题

无法从Booking.com的搜索结果中获取价格

来自分类Dev

在Quantmod R中获取商品价格历史的窍门吗?

来自分类Dev

如何从应用程序订阅中获取订阅价格

来自分类Dev

我想从数据框中获取原始价格

来自分类Dev

在Google表格中获取最低价格

来自分类Dev

在GCP中,如何获取所有价格的清单

来自分类Dev

如何从PHP和JavaScript数据库中获取价格

来自分类Dev

PHP获取URL中的所有价格ID

来自分类Dev

在Windows Store中获取应用内购买的价格