1

我正在使用将多个表(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        |
+---------------------------------------------------------------------------+

这些 MandatoryN 字段实际上有 5 个,但希望这不会对解决方案产生太大影响。

4

1 回答 1

2

尝试这样的事情:

SELECT EMPLOYEENAME, 
       HIREDATE, 
       TITLE, 
       Max(MANDATORY30) AS Mandatory30, 
       Max(MANDATORY90) AS Mandatory90, 
       Max(MANDATORYPA) AS MandatoryPA 
  FROM TABLE 
 GROUP BY EMPLOYEENAME, 
          HIREDATE, 
          TITLE 

您可以根据需要添加任意数量的字段。

于 2012-10-18T14:39:54.350 回答