我有一张表,该表显示每个员工,并将他们申请的职位列为单独的列。

APPNO,Date_Applied,FirstName,LastName,Position1,Position2,Position3

我想将申请的多个职位作为同一员工的其他行返回。因此,如果一个人申请3个不同的职位,它将为该名雇员返回3个不同的行。

APPNO,Date_Applied,FirstName,LastName,Position1,
APPNO,Date_Applied,名字,姓氏,位置2
APPNO,Date_Applied,名字,姓氏,位置3

最佳答案

规范化确实很重要,但是可以使用以下方法:

SELECT APPNO, Date_Applied, FirstName, LastName, Position1 AS position
UNION ALL
SELECT APPNO, Date_Applied, FirstName, LastName, Position2
WHERE Position2 IS NOT NULL
UNION ALL
SELECT APPNO, Date_Applied, FirstName, LastName, Position3
WHERE Position3 IS NOT NULL

08-04 10:54