【问题标题】:Pypika Query for SELECT AS not working as intendedSELECT AS 的 Pypika 查询未按预期工作
【发布时间】:2021-08-22 06:13:13
【问题描述】:

我正在尝试使用 Pypika(https://pypika.readthedocs.io/en/latest/3_advanced.html) 构建一个简单的 SQL 选择查询,我需要为导入的数据列提供别名。我希望看到生成的查询如下。

SELECT "date" AS "x_date","count" AS "x_count" FROM "trades_features" WHERE "ticker"='AAU' AND "date" BETWEEN '2012-12-26' AND '2016-12-29';

我尝试过的Pypika语法如下

from pypika import Query,Table
tb = Table('trades_features')
query = Query.from_(tb).select(tb.date.as_('x_date'), tb.count.as_('x_count')).where(tb.ticker == 'AAU').where(tb.date['2012-12-26':''2016-12-29'])
print(query.get_sql())

生成,

SELECT "date" "x_date","count" "x_count" FROM "trades_features" WHERE "ticker"='AAU' AND "date" BETWEEN '2015-01-01' AND '2016-01-01'

为什么没有AS 原因?我在这里错过了什么?

【问题讨论】:

    标签: python sql pypika


    【解决方案1】:
    SELECT "date" "x_date","count" "x_count" FROM "trades_features" WHERE "ticker"='AAU' AND "date" BETWEEN '2015-01-01' AND '2016-01-01'
    

    以上查询将在所有主要 RDBMS 中生成与以下查询相同的结果。

    SELECT "date" AS "x_date","count" AS "x_count" FROM "trades_features" WHERE "ticker"='AAU' AND "date" BETWEEN '2012-12-26' AND '2016-12-29';
    

    我从未使用过 Pypika。但经过一些谷歌搜索后,我认为它只是省略了as,因为它不是强制性的。

    【讨论】:

    • 你是对的。我错过了。感谢您的快速回复
    猜你喜欢
    • 1970-01-01
    • 2012-11-13
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    相关资源
    最近更新 更多