将两个表中的列合并为一个

Posted

技术标签:

【中文标题】将两个表中的列合并为一个【英文标题】:Joining columns from two tables into one 【发布时间】:2013-02-22 19:42:04 【问题描述】:

我有 2 个表,EMPLOYEEAPP 和 EMPLOYEEINFO。

当 SECURITYGROUP 列是某个值时,我想在 EMPLOYEEAPP 表中搜索 EMPLOYID。

然后我想从 EMPLOYEEAPP 表中获取 EMPLOYID,并使用 EMPLOYEEINFO 表中的 EMPLID 列搜索他们对应的名字和姓氏。

SELECT EMPLOYEEAPP.EMPLOYID, EMPLOYEEINFO.FIRST_NAME, EMPLOYEEINFO.LAST_NAME
FROM EMPLOYEEAPP
WHERE EMPLOYEEAPP.SECURITYGROUP = 'ANALYST'
INNER JOIN EMPLOYEEINFO
ON EMPLOYEEAPP.EMPLOYID=EMPLOYEEINFO.EMPLID

我不断收到错误“ORA-00933:SQL 命令未正确结束”。

任何帮助或见解将不胜感激!

【问题讨论】:

【参考方案1】:

您将WHERE 子句放在错误的位置。查询应该是:

SELECT EMPLOYEEAPP.EMPLOYID, 
  EMPLOYEEINFO.FIRST_NAME, 
  EMPLOYEEINFO.LAST_NAME
FROM EMPLOYEEAPP
INNER JOIN EMPLOYEEINFO
   ON EMPLOYEEAPP.EMPLOYID=EMPLOYEEINFO.EMPLID
WHERE EMPLOYEEAPP.SECURITYGROUP = 'ANALYST'

查询顺序为:

SELECT
FROM
JOIN
WHERE 
GROUP BY 
HAVING
ORDER BY

【讨论】:

我现在收到“ORA-01722:无效号码”,有什么想法吗? EMPLOYIDEMPLIDSECURITYGROUP的数据类型是什么? EMPLOYID: NUMBER;安全组:VARCHAR2(); EMPLID: VARCHAR2() @user2100620 您需要将cast 上的列连接到相同的数据类型。使用to_charto_number

以上是关于将两个表中的列合并为一个的主要内容,如果未能解决你的问题,请参考以下文章

根据列中的匹配数据合并两个 Excel 表

合并具有不同列数的表

使用where子句将两个表中的数据合并到一个表中

paste:linux合并两个文件中的列(左右合并)

将 R 中的数据帧连接/合并为向量类型单元格

将两个列数组合并为配置单元中的 1 个数组列