Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » データの問い合わせと修正 » 共通テーブル式



テーブルを使用するときと同様に、共通テーブル式の複数のインスタンスに異なる相関名を付けることができます。これによって、共通テーブル式をそれ自体にジョインできます。たとえば、次のクエリは、従業員数が同じ部署を組み合わせます。ただし、SQL Anywhere サンプルデータベースには、従業員数が同じ部は 2 つしかありません。

WITH CountEmployees( DepartmentID, n ) AS
    ( SELECT DepartmentID, COUNT( * ) AS n
      FROM Employees GROUP BY DepartmentID )
SELECT a.DepartmentID, a.n, b.DepartmentID, b.n
FROM CountEmployees AS a JOIN CountEmployees AS b
ON a.n = b.n AND a.DepartmentID < b.DepartmentID;