在单个字符串中处理来自不同表的多个列的条目 - Oracle

时间:2016-02-24 14:30:41

标签: sql oracle

我试图从两个表格中提取条目,一个表格来自表格' Faculty'以及来自“合格”的两栏。我应该把它们放在一个查询中并在显示时操纵它们。

我正在使用的表格示例:

 Table Qualified

 FacultyID| CourseID  |DateQualified
 ------------------------------------
 2143     | ISM 3112  | 01-SEP-88
 2143     | ISM 3113  | 01-SEP-88
 3467     | ISM 4212  | 01-SEP-95
 3467     | ISM 4930  | 01-SEP-96
 4756     | ISM 3113  | 01-SEP-91
 4756     | ISM 3112  | 01-JAN-91


Table: Faculty

FacultyID | FacultyName
--------------------
2143      | Birkin
3467      | Berndt
4756      | Collins

我应该从FacultyName,CourseID和DateQualified中获取值,以生成如下所示的查询:

BIRKIN:: ISM3112 -Sep 1st, '88

所以,这个名字现在更高了,' - '在课程名称中,名称已消失,年份现在采用的是YY格式。我不确定如何将它们全部放入一个字符串并操纵它们。任何帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

SELECT t.FacultyName || ':: ' || replace(s.CourseID,' ','') || '-' ||
       substr(to_char(s.DateQualified,'MONTH'),0,3) || ' ' || to_char(s.DateQualified,'DD')
       || ', `' || to_char(s.DateQualified,'YY') 
FROM Qualified s 
INNER JOIN Faculty t
ON(s.FacultyID = t.FacultyID)