【问题标题】:Select a field called "return" in postgreSQL在 postgreSQL 中选择一个名为“return”的字段
【发布时间】:2022-01-08 12:53:19
【问题描述】:

我在 postgres 中的查询有问题,表 cgporders_items 有一个名为 return 的字段,我无法通过此查询获得该字段的实际结果,它返回我 al ceros。

SELECT "Cgporder".id AS "Cgporder__id"
    ,"Sale".preorder_number AS "Sale__preorder_number"
    ,"Contact".id AS "Contact__id"
    ,"Contact".NAME AS "Contact__name"
    ,"Ptype".NAME AS "Ptype__name"
    ,(
        SELECT code
        FROM products
        WHERE id = "CgporderItem".parent_id
        ) AS "Product__parent_code"
    ,"Product".id AS "Product__id"
    ,"Product".code AS "Product__code"
    ,"Product".NAME AS "Product__name"
    ,"CgporderItem".quantity AS "CgporderItem__quantity"
    ,"CgporderItem".return AS "CgporderItem__return"
    ,"CgporderItem".cep_id AS "CgporderItem__cep"
FROM cgporders AS "Cgporder"
INNER JOIN contacts AS "Contact" ON ("Contact".id = "Cgporder".contact_id)
INNER JOIN cgporders_items AS "CgporderItem" ON ("Cgporder".id = "CgporderItem".cgporder_id)
INNER JOIN products AS "Product" ON ("Product".id = "CgporderItem".product_id)
INNER JOIN ptypes AS "Ptype" ON ("Ptype".id = "Product".ptype_id)
LEFT JOIN cgporders_sales AS "CgporderSale" ON ("Cgporder".id = "CgporderSale".cgporder_id)
LEFT JOIN sales AS "Sale" ON ("Sale".id = "CgporderSale".sale_id)
WHERE "CgporderItem".parent_id != 0
    AND "Cgporder"."issue_date" >= '2015-11-27'
    AND "Cgporder"."issue_date" <= '2015-11-27'
    AND "Cgporder"."status" = 'confirmed'
ORDER BY "Ptype".NAME
    ,"Product"."code";

实际上有很多行符合选择条件,但它在 "CgporderItem" 上返回 cero.return AS "CgporderItem__return"

如果我做一个简单的查询,比如从 cgporders_items 中选择“返回”,它就可以工作。但是在这个查询中它不起作用。

你能帮帮我吗?

【问题讨论】:

  • 你试过"CgporderItem"."return" AS "CgporderItem__return" 吗? return 是保留字,必须加引号。
  • 是的,我试过了,但也没用

标签: sql postgresql


【解决方案1】:

"return" 是 SQL 中的保留字,但在 Postgres 中不是。请参阅列表here。以下代码可在 Postgres 中找到(SQL Fiddle 为 here):

create table dum  (return int);

select dum.return from dum;

你的问题是别的。如果我不得不猜测,where 子句的限制太严格了(日期的条件有点可疑)。

【讨论】:

    猜你喜欢
    • 2012-11-23
    • 2017-05-04
    • 2012-12-19
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 2013-09-29
    • 2014-02-12
    • 2013-03-08
    相关资源
    最近更新 更多