sql >> Databáze >  >> RDS >> Oracle

Jak mohu v SQL vygenerovat všechny možné jedinečné kombinace 5!56?

Pokud pod pojmem "unikátní sady" myslíte to, co si myslím, že děláte (omlouvám se, neznám APL!), můžete napsat:

SELECT e1.number,   e2.number,   e3.number,   e4.number,   e.number
  FROM elements e1, elements e2, elements e3, elements e4, elements e5
 WHERE e1.number < e2.number
   AND e2.number < e3.number
   AND e3.number < e4.number
   AND e4.number < e5.number
;

Ano, existuje trik Oracle, jak generovat data za běhu pomocí hierarchického dotazu a syntaxe CTE:

WITH elements AS
( select rownum as number
  from dual
  connect by level <= 56 )
SELECT e1.number,   e2.number,   e3.number,   e4.number,   e.number
  FROM elements e1, elements e2, elements e3, elements e4, elements e5
 WHERE e1.number < e2.number
   AND e2.number < e3.number
   AND e3.number < e4.number
   AND e4.number < e5.number
;


  1. Jak používat FILEPROPERTY() v SQL Server

  2. Postgresql spoušť při přihlášení uživatele

  3. Vyladění operací vstupu/výstupu (I/O) pro PostgreSQL

  4. sums return String, pouze s postgresql