普遍存在的PSQL在内部连接方面遇到麻烦



错误

CREATE VIEW "V_BACKLOG" 
    AS SELECT JOB_OPERATIONS.JOB, JOB_OPERATIONS.SUFFIX, JOB_OPERATIONS.SEQ, JOB_OPERATIONS.PART, JOB_OPERATIONS.DESCRIPTION, JOB_OPERATIONS.ROUTER_SEQ, JOB_OPERATIONS.FLAG_CLOSED, JOB_OPERATIONS.WORK_STARTED, JOB_HEADER.SALES_ORDER, JOB.HEADER.SALES_ORDER_LINE, JOB.HEADER.DATE_OPENED, JOB_HEADER.CUSTOMER_PO, JOB_HEADER.DATE_DUE, JOB_HEADER.QTY_ORDER, JOB_HEADER.CUSTOMER, JOB_HEADER.DESCRIPTION 
    FROM JOB_OPERATIONS  
    INNER JOIN JOB_HEADER WHERE JOB_OPERATIONS.JOB = JOB_HEADER.JOB AND JOB_OPERATIONS.SUFFIX = JOB_HEADER.SUFFIX
    ORDER BY JOB_OPERATIONS.JOB, JOB_OPERATIONS.SUFFIX, JOB_OPERATIONS.SEQ

在这里创建一个加入,我一直在寻找它,试图弄清楚引擎为什么不会解析它。我正在通过测试其他除1个类似品质的其他查询来缓慢消除,但是如果有人能阐明我,我会很感激。

编辑

CREATE VIEW "testing" 
AS SELECT JOB_OPERATIONS.JOB,
    JOB_OPERATIONS.SUFFIX,
    JOB_OPERATIONS.PART,
    JOB_HEADER.QTY_ORDER,
    JOB_HEADER.CUSTOMER
FROM JOB_OPERATIONS
LEFT JOIN JOB_HEADER ON 
    (JOB_OPERATIONS.JOB = JOB_HEADER.JOB AND
    JOB_OPERATIONS.SUFFIX = JOB_HEADER.SUFFIX)
ORDER BY JOB_OPERATIONS.JOB, JOB_OPERATIONS.SUFFIX

这有效

CREATE VIEW "V_BACKLOG" 
AS SELECT JOB_OPERATIONS.JOB, 
    JOB_OPERATIONS.SUFFIX, 
    JOB_OPERATIONS.SEQ, 
    JOB_OPERATIONS.PART, 
    JOB_OPERATIONS.DESCRIPTION, 
    JOB_OPERATIONS.ROUTER_SEQ, 
    JOB_OPERATIONS.FLAG_CLOSED, 
    JOB_OPERATIONS.WORK_STARTED, 
    JOB_HEADER.SALES_ORDER, 
    JOB.HEADER.SALES_ORDER_LINE, 
    JOB.HEADER.DATE_OPENED, 
    JOB_HEADER.CUSTOMER_PO, 
    JOB_HEADER.DATE_DUE, 
    JOB_HEADER.QTY_ORDER, 
    JOB_HEADER.CUSTOMER, 
    JOB_HEADER.DESCRIPTION 
FROM JOB_OPERATIONS
LEFT JOIN JOB_HEADER ON 
    (JOB_OPERATIONS.JOB = JOB_HEADER.JOB AND 
    JOB_OPERATIONS.SUFFIX = JOB_HEADER.SUFFIX)
ORDER BY JOB_OPERATIONS.JOB, JOB_OPERATIONS.SUFFIX, JOB_OPERATIONS.SEQ

但这不是,我发现这很困惑

您需要不同的子句"其中 -> on"

CREATE VIEW "V_BACKLOG" 
AS SELECT JOB_OPERATIONS.JOB, JOB_OPERATIONS.SUFFIX, JOB_OPERATIONS.SEQ, JOB_OPERATIONS.PART, JOB_OPERATIONS.DESCRIPTION, JOB_OPERATIONS.ROUTER_SEQ, JOB_OPERATIONS.FLAG_CLOSED, JOB_OPERATIONS.WORK_STARTED, JOB_HEADER.SALES_ORDER, JOB.HEADER.SALES_ORDER_LINE, JOB.HEADER.DATE_OPENED, JOB_HEADER.CUSTOMER_PO, JOB_HEADER.DATE_DUE, JOB_HEADER.QTY_ORDER, JOB_HEADER.CUSTOMER, JOB_HEADER.DESCRIPTION 
FROM JOB_OPERATIONS  
INNER JOIN JOB_HEADER on JOB_OPERATIONS.JOB = JOB_HEADER.JOB AND JOB_OPERATIONS.SUFFIX = JOB_HEADER.SUFFIX
ORDER BY JOB_OPERATIONS.JOB, JOB_OPERATIONS.SUFFIX, JOB_OPERATIONS.SEQ

普遍存在我在同一视图中有两个名为"描述"的列有问题。

一切似乎都完美无缺,您说选择的长度掩盖了错误消息中的错误。这就是我会尝试的。从有效的测试查询开始,一次添加一个元素,直到遇到错误。这样,您就会知道错误在哪里,如果需要,可以删除元素,直到您有足够的查询以查看实际错误为止。

也是第一个测试,查看该名称的视图是否已经存在。如果是这样,那么您就不会先创建视图而不先删除视图。

相关内容

最新更新