sql >> Database teknologi >  >> RDS >> Oracle

Hvordan kan jeg i SQL generere enhver mulig unik kombination af 5!56?

Hvis du med "unikke sæt" mener, hvad jeg tror, ​​du gør (beklager, jeg kender ikke APL!), kan du skrive:

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 ;

Ja, der er et Oracle-trick til at generere data på farten ved hjælp af den hierarkiske forespørgsel og CTE-syntaksen:

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. Easysoft ODBC-drivere og ODBCINST-biblioteket

  2. Markørbaseret postdatatype med markør, der returnerer flere værdier i Oracle-databasen

  3. Sorter efter kolonne ASC, men NULL-værdier først?

  4. Alle kolonner indstilles til samme værdi