我正在使用遗留数据库将多个表捆绑在一起(4个INNER JOINS和一个OUTER LEFT JOIN);因为这个以及表必须如何连接在一起,所以很难整合数据。我已经走到了这一步:
+---------------------------------------------------------------------------+
| EmployeeName | HireDate | Title | Mandatory30 | Mandatory90 | MandatoryPA |
+---------------------------------------------------------------------------+
| Stewart, P. | 1/1/01 | CO | 1/1/02 | NULL | NULL |
| Stewart, P. | 1/1/01 | CO | NULL | 1/2/12 | NULL |
| Frakes, J. | 5/5/05 | XO | 5/5/05 | NULL | NULL |
| Frakes, J. | 5/5/05 | XO | NULL | 5/6/05 | NULL |
+---------------------------------------------------------------------------+
如何将其合并为更接近以下的内容?
+---------------------------------------------------------------------------+
| EmployeeName | HireDate | Title | Mandatory30 | Mandatory90 | MandatoryPA |
+---------------------------------------------------------------------------+
| Stewart, P. | 1/1/01 | CO | 1/1/02 | 1/2/12 | NULL |
| Frakes, J. | 5/5/05 | XO | 5/5/05 | 5/6/05 | NULL |
+---------------------------------------------------------------------------+
实际上有5个这样的MandatoryN字段,但希望这不会对解决方案产生太大的影响。
答案 0 :(得分:2)
尝试这样的事情:
SELECT EMPLOYEENAME,
HIREDATE,
TITLE,
Max(MANDATORY30) AS Mandatory30,
Max(MANDATORY90) AS Mandatory90,
Max(MANDATORYPA) AS MandatoryPA
FROM TABLE
GROUP BY EMPLOYEENAME,
HIREDATE,
TITLE
您可以根据需要添加任意数量的字段。