所以,我正在尝试运行一个查询,要求我将两个单独的表连接在一起,但我需要将一些信息合并到一个列中,并标记它来自哪个表。
喜欢这个......
table_1 table_2
teacher_name student_name
Steve Jimmy
George Craig
Output:
NAME: Title:
Steve Teacher
George Teacher
Jimmy Student
Craig Student
这是我到目前为止所拥有的......
SELECT x.first_name, x.last_name, y.first_name, y.last_name, x.city, y.city
FROM (SELECT i.first_name, i.last_name, z.city, z.zip
FROM instructor i JOIN
zipcode z
ON z.zip = i.zip
WHERE z.zip = 10025) x
LEFT OUTER JOIN
(SELECT s.first_name, s.last_name, z.city, z.zip
FROM student s JOIN zipcode z
ON s.zip = z.zip
WHERE z.zip = 10025) y
ON y.zip = x.zip
基本上,我需要做的就是将x和y查询中的名字和姓氏组合成一个列,以及两者中的城市,然后创建一个标识该人是否的人的列来自讲师表(x)或学生表(y)
更新
所以我最终放弃了子查询和外连接,我得到了查询工作......这是我最终得到的代码。非常感谢你!
SELECT i.first_name AS first_name, i.last_name AS last_name, 'Teacher' AS role
FROM instructor i JOIN zipcode z
ON i.zip = z.zip
WHERE z.zip = 10025
UNION ALL
SELECT s.first_name AS first_name, s.last_name AS last_name, 'Student' AS role
FROM student s JOIN zipcode z
ON s.zip = z.zip
WHERE z.zip = 10025
ORDER BY role, last_name, first_name;
答案 0 :(得分:0)
SELECT teacher_name + teacher_last as Name, city, 'Teacher' as source
FROM TeacherTable
UNION ALL
SELECT student_name + student_last as Name, city, 'Student' as source
FROM StudentTable