jaydebeapi获取列别名

2024-09-30 22:12:07 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法从从JayDeBeApi返回的sql查询中返回别名列名?在

例如,我有以下查询:

sql = """ SELECT visitorid AS id_alias FROM table LIMIT 1 """

然后运行以下命令(connect_to_vdm()建立到我的数据库的连接):

^{pr2}$

我通常检索列名如下:

desc = curs.description
column_names = [col[0] for col in desc]

这将返回原始列名"visitorid",而不是查询"id_alias"中指定的别名。在

我知道我可以在Python中交换值的名称,但是希望能够在查询中完成,因为它已经在Select语句中定义了。这在SQL客户机中的行为与预期的一样,但是在使用python/JayDeBeApi时,似乎无法返回别名。有没有办法用JayDeBeApi做到这一点?在

编辑: 我发现用CTE构造查询似乎有助于解决问题,但仍然想知道是否有更直接的解决方案。下面是我如何重写相同的查询:

sql = """ WITH cte (id_alias) AS (SELECT visitorid AS id_alias FROM table LIMIT 1) SELECT id_alias from cte"""

Tags: from命令idsqlastablealiascol
1条回答
网友
1楼 · 发布于 2024-09-30 22:12:07

我可以使用一个CTE(公共表表达式)来解决这个问题

sql = """ WITH cte (id_alias) AS (SELECT visitorid AS id_alias FROM table LIMIT 1) SELECT id_alias from cte"""

相关问题 更多 >