小编Ste*_*ter的帖子

如何与MySQL进行"独特"连接

我有两个MySQL表(产品和价格历史记录),我想加入:

Product 表:

Id = int
Name = varchar
Manufacturer = varchar
UPC = varchar
Date_added = datetime
Run Code Online (Sandbox Code Playgroud)

Price_h 表:

Id = int
Product_id = int
Price = int
Date = datetime
Run Code Online (Sandbox Code Playgroud)

我可以执行一个简单的LEFT JOIN:

SELECT Product.UPC, Product.Name, Price_h.Price, Price_h.Date
FROM Product
LEFT JOIN Price_h
ON Product.Id = Price_h.Product_id;
Run Code Online (Sandbox Code Playgroud)

但正如预期的那样,如果我在价格历史表中有多个产品条目,我会得到每个历史价格的一个结果.

如何构建一个只返回每个产品的一个实例的连接,只加入与它相关的价格历史表中的最新条目?

mysql join subquery distinct left-join

21
推荐指数
2
解决办法
5万
查看次数

Python与__import__和import之间的区别为

我试图在Python中动态导入配置文件.

我使用时代码工作正常:

import conf.config as config
Run Code Online (Sandbox Code Playgroud)

但是当我使用时无法正常工作:

config = __import__("conf.config")
Run Code Online (Sandbox Code Playgroud)

下面是示例程序以及运行它们时得到的结果:

#regularimport.py
import conf.config as config

def read_values(cfg):
    for varname in cfg.__dict__.keys():
        if varname.startswith('__'):
            continue
        value = getattr(cfg, varname)
        yield (varname, value)

for name,value in read_values(config):
    print "Current config: %s = %s" % (name, value)
Run Code Online (Sandbox Code Playgroud)

结果:

$python regularimport.py

Current config: SETTING_TWO = another setting
Current config: SETTING_ONE = some setting
Run Code Online (Sandbox Code Playgroud)

动态导入:

#dynamicimport.py
conf_str = "conf.config"
config = __import__(conf_str)

def read_values(cfg):
    for varname in cfg.__dict__.keys():
        if varname.startswith('__'):
            continue
        value = getattr(cfg, …
Run Code Online (Sandbox Code Playgroud)

python import dynamic

3
推荐指数
1
解决办法
4765
查看次数

标签 统计

distinct ×1

dynamic ×1

import ×1

join ×1

left-join ×1

mysql ×1

python ×1

subquery ×1