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

Tham gia chéo 'n' lần một bảng

Sử dụng SQL động, SQL Server 2005+ (@table_name và @numCrossJoins là các tham số thủ tục được lưu trữ):

DECLARE @upperLimit INT
    SET @upperLimit = 1

DECLARE @SQL NVARCHAR(MAX)
    SET @SQL = 'SELECT * FROM '+ @table_name +' '

BEGIN 

  WHILE (upperLimit <= @numCrossJoins)
  BEGIN

    SET @SQL = @SQL + 'CROSS JOIN '+ QUOTENAME(@table_name) +' '

    SET @upperLimit = @upperLimit + 1
  END

  EXEC sp_executesql @SQL

END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SSIS - Thực hiện Tra cứu trên Bảng khác để lấy Cột Liên quan

  2. Máy chủ Sql Sự cố Máy chủ Liên kết Đăng nhập không thành công cho người dùng 'NT AUTHORITY \ ANONYMOUS LOGON'

  3. Làm thế nào để cài đặt fulltext trên sql server 2008?

  4. Toán tử logic AND trong SQL Server là gì - Hướng dẫn sử dụng SQL Server / TSQL Phần 120

  5. Truyền các tham số động cho một thủ tục được lưu trữ trong SQL Server 2008