sql >> Databáze >  >> RDS >> Sqlserver

Cross Join 'n' krát stůl

Pomocí dynamického SQL, SQL Server 2005+ (@table_name a @numCrossJoins jsou parametry uložené procedury):

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. Jaká datová struktura se používá v MySql?

  2. mohou být dočasné proměnné MySQL použity v klauzuli WHERE?

  3. Jak převést křížový dotaz zpět na normální dotaz v Accessu

  4. Laravel 4 neumí spouštět celé RAW dotazy