sql >> データベース >  >> RDS >> Sqlserver

テーブルを「n」回クロス結合する

    動的 SQL の使用、SQL Server 2005+ (@table_name および @numCrossJoins はストアド プロシージャ パラメータ):

    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. 多くのLEFTJOINとGROUPBYを使用してMySQLクエリを最適化する

    2. ZendFrameworkを使用してmySQLのINTOOUTFILE機能を使用してCSVにエクスポートする方法

    3. MySQLのutf-8列で言語を識別する方法

    4. Oracleで文字列を分割する方法