Skip to content

馃獨 Add UNION and WITH (#19)

Choose a tag to compare

@MihaelIsaev MihaelIsaev released this 17 Jan 07:34
· 223 commits to master since this release

union functionality

let table1 = Table("Table1")
let table2 = Table("Table2")
let table3 = Table("Table3")

let sql = Union(
    SwifQL.select(table1.*).from(table1),
    SwifQL.select(table2.*).from(table2),
    SwifQL.select(table3.*).from(table3)
)

will give

(SELECT "Table1".* FROM "Table1")
UNION
(SELECT "Table2".* FROM "Table2")
UNION
(SELECT "Table3".* FROM "Table3"

with support

let with = With(
    Table("Table1"),
    SwifQL.select(Table("Table2").*).from(Table("Table2"))
)
SwifQL.with(with)
      .select(Table("Table1").*)
      .from(Table("Table1"))

will give

WITH
    "Table1" as (SELECT "Table2".* FROM "Table2")
SELECT "Table1".* 
FROM "Table1"

Thanks to @hiimtmac