【问题标题】:SQL join not workingSQL 连接不起作用
【发布时间】:2016-07-05 15:14:35
【问题描述】:

我正在尝试合并我在连接中的这两个查询,但效果不佳,您能告诉我哪里出错了。提前致谢

SELECT z1blto, 
       z1ctrk 
FROM   z1mast AS e 
JOIN   d 
       ( 
                select   a.ordprod, 
                         a.ordtotpcs , 
                         a.ordordnum, 
                         b.orhdate 
                FROM     dta/dw30d a 
                JOIN     dta/dw30c b 
                ON       a.ordcust = b.orhcust 
                AND      a.ordordnum = b.orhordnum 
                WHERE    a.ordcust = 'GL02' 
                AND      a.ordprod = '2002534B_GC' 
                ORDER BY b.orhdate) AS d 
ON     e.z1cucd = d.ordcust

【问题讨论】:

  • 我们怎么能告诉你,当你只对我们说:its not working out so well?,这是什么意思?,具体是什么不起作用?
  • 它根本不起作用,我是新加入的,所以我不确定结构是否正确
  • 请检查您的问题 - 加入后第 3 行中的“d”是什么,您没有在查询中选择 ordcust...
  • 但这是什么意思?,它是否抛出错误?,它不返回结果?,具体发生了什么?
  • @Lamak 它只是返回 z1blto,z1ctrk 字段它没有加入到另一个表

标签: mysql sql database join db2


【解决方案1】:

您的查询中似乎有错字。您的ON 规范将ordcust 用于a,将orhcust 用于b,同样用于ordornumorddate。这是更正的版本。而且在嵌套查询之前还有一个额外的d。我正在对拼写做出一些假设,因为您的问题中缺少信息。

SELECT z1blto, 
       z1ctrk 
FROM   z1mast AS e 
JOIN   
       ( 
                select   a.ordprod, 
                         a.ordtotpcs , 
                         a.ordordnum, 
                         b.orddate 
                FROM     dta/dw30d a 
                JOIN     dta/dw30c b 
                ON       a.ordcust = b.ordcust 
                AND      a.ordordnum = b.ordordnum 
                WHERE    a.ordcust = 'GL02' 
                AND      a.ordprod = '2002534B_GC' 
                ORDER BY b.orddate) AS d 
ON     e.z1cucd = d.ordcust

【讨论】:

    猜你喜欢
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多