sql代码中的内部联接不起作用,如何从第二个表中仅选择特定列? 选择“KNDNR”、“HZDAT” 来自“INFM_RBINPJDT_CSC1”。“V_REPL_CE10010_C3”作为 其中SUBSTR(“HZDAT”,1,4)=摘录(从系统日期算起的年份) 内部联接“INFM_RBINPJDT_CSC1.”上的“V_REPL_KNA1_C3” “INFM_RBINPJDT_CSC1”“V_REPL_CE10010_C3”“KNDNR”“INFM_RBINPJDT_CSC1”“V_REPL_KNA1_C3”“KUNNR”

sql代码中的内部联接不起作用,如何从第二个表中仅选择特定列? 选择“KNDNR”、“HZDAT” 来自“INFM_RBINPJDT_CSC1”。“V_REPL_CE10010_C3”作为 其中SUBSTR(“HZDAT”,1,4)=摘录(从系统日期算起的年份) 内部联接“INFM_RBINPJDT_CSC1.”上的“V_REPL_KNA1_C3” “INFM_RBINPJDT_CSC1”“V_REPL_CE10010_C3”“KNDNR”“INFM_RBINPJDT_CSC1”“V_REPL_KNA1_C3”“KUNNR”,sql,oracle,import,powerbi,powerbi-desktop,Sql,Oracle,Import,Powerbi,Powerbi Desktop,这是我的密码。在这里,直到内部连接代码开始工作内部联接语句不工作。其显示错误为“命令未正确结束”。 我使用它将表导入Power BI。 我还想从第二个表中只选择几列。 架构名称:“INFM_RBINPJDT_CSC1” 表1名称:“V_REPL_CE10010_C3” 表2名称:“V_REPL_KNA1_C3” 列名:“KNDNR”、“KNDNR”以下是构造查询的方法Join 然后使用表别名连接第二个表的列B.* SELECT A."KNDNR",A."HZDAT", B."KNDNR" FRO

这是我的密码。在这里,直到内部连接代码开始工作内部联接语句不工作。其显示错误为“命令未正确结束”。 我使用它将表导入Power BI。 我还想从第二个表中只选择几列。

架构名称:“INFM_RBINPJDT_CSC1” 表1名称:“V_REPL_CE10010_C3” 表2名称:“V_REPL_KNA1_C3”
列名:“KNDNR”、“KNDNR”

以下是构造查询的方法<在执行任何
Where
条件之前,先执行code>Join

然后使用表别名连接第二个表的列
B.*

SELECT A."KNDNR",A."HZDAT", B."KNDNR"
FROM "INFM_RBINPJDT_CSC1"."V_REPL_CE10010_C3" AS A 
INNER JOIN "INFM_RBINPJDT_CSC1"."V_REPL_KNA1_C3" AS B ON  B."KNDNR" = A."KUNNR"
WHERE SUBSTR(A."HZDAT",1,4) = EXTRACT(YEAR FROM SYSDATE)

下面是您应该如何构造查询<在执行任何
Where
条件之前,先执行code>Join

然后使用表别名连接第二个表的列
B.*

SELECT A."KNDNR",A."HZDAT", B."KNDNR"
FROM "INFM_RBINPJDT_CSC1"."V_REPL_CE10010_C3" AS A 
INNER JOIN "INFM_RBINPJDT_CSC1"."V_REPL_KNA1_C3" AS B ON  B."KNDNR" = A."KUNNR"
WHERE SUBSTR(A."HZDAT",1,4) = EXTRACT(YEAR FROM SYSDATE)

尝试在
WHERE
子句之前移动联接,并在
ON
条件中使用表别名:

选择“KNDNR”、“HZDAT”
来自“INFM_RBINPJDT_CSC1”。“V_REPL_CE10010_C3”作为
内部连接“INFM_RBINPJDT_CSC1”。“V_REPL_KNA1_C3”作为A上的B。“KNDNR”=B“KUNNR”
其中SUBSTR(“HZDAT”,1,4)=摘录(从系统日期算起的年份)

尝试在
WHERE
子句之前移动联接,并在
ON
条件下使用表别名:

选择“KNDNR”、“HZDAT”
来自“INFM_RBINPJDT_CSC1”。“V_REPL_CE10010_C3”作为
内部连接“INFM_RBINPJDT_CSC1”。“V_REPL_KNA1_C3”作为A上的B。“KNDNR”=B“KUNNR”
其中SUBSTR(“HZDAT”,1,4)=摘录(从系统日期算起的年份)

您的查询在多个方面都很混乱。显然,这些条款的顺序不正确。你亦应:

  • 使用有意义的表别名
  • 避免字符串和数字之间的比较
  • 限定列名
因此:


您还应该限定
HZDAT
,但我不知道它来自哪个表/视图。

您的查询在多个方面都有问题。显然,这些条款的顺序不正确。你亦应:

  • 使用有意义的表别名
  • 避免字符串和数字之间的比较
  • 限定列名
因此:


您还应该限定
HZDAT
,但我不知道它来自哪个表/视图。

为什么到处都使用双引号,为什么在引用表时指定完整名称空间?为什么到处都使用双引号,还有,为什么在引用表时要指定完整的名称空间?