Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Không hỗ trợ OVER trong MS SQL Server 2005?

Bạn đã thử viết trước dấu chấm phẩy trước With chưa tuyên bố? (ví dụ:;With q As )

Một số lưu ý chung:

  1. Bạn phải chạy điều này trong một truy vấn không phải là trình thiết kế. Có vẻ như bạn đã khắc phục được điều đó.
  2. Liệt kê các cột thay vì sử dụng * . Tức là, trong ví dụ dưới đây, hãy thay thế Col1, Col2 bằng các cột thực tế mà bạn muốn có tiền tố trong bảng từ khi chúng xuất hiện.
  3. Đặt use DatabaseName ở đầu tập lệnh của bạn, sau đó là dấu ngắt dòng, theo sau là GO , tiếp theo là một ngắt dòng khác.
  4. Nếu câu lệnh duy nhất trước With câu lệnh là GO giữa use của bạn và truy vấn, sau đó không cần dấu chấm phẩy vì đây là câu lệnh đầu tiên trong lô.

use DatabaseName
GO
WITH q AS
        (
        SELECT  TableName.Col1, TableName.Col2,...
            , ROW_NUMBER() OVER (PARTITION BY dbo.[1_MAIN - Contacts].Contact_ID 
                                                        ORDER BY dbo.[1_MAIN - Contacts].Contact_ID ) AS rn
        FROM dbo.[1_MAIN - Contacts]
            INNER JOIN dbo.Referral
                ON dbo.[1_MAIN - Contacts].Contact_ID = dbo.Referral.Referral_ID
            INNER JOIN dbo.prov_training_records
                ON dbo.[1_MAIN - Contacts].Contact_ID = dbo.prov_training_records.Contact_ID
            LEFT OUTER JOIN dbo.Resource_Center
                ON dbo.[1_MAIN - Contacts].Contact_ID = dbo.Resource_Center.Contact_ID
            FULL OUTER JOIN dbo.Providers
                ON dbo.[1_MAIN - Contacts].Contact_ID = dbo.Providers.Contact_ID
        )
SELECT  *
FROM    q


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo Ràng buộc KIỂM TRA trong SQL Server (Ví dụ T-SQL)

  2. Gọi thủ tục được lưu trữ với giá trị trả về

  3. Phạm vi của các bảng tạm thời trong SQL Server

  4. Làm cách nào để kết nối với cơ sở dữ liệu bên ngoài từ câu lệnh sql hoặc thủ tục được lưu trữ?

  5. THIẾT LẬP TEXTSIZE không hoạt động trong SQL Server? Kiểm tra điều này.