FunSQL.jl
FunSQL.jl copied to clipboard
do not collapse Define nodes
trafficstars
using FunSQL: SQLTable, From, Select, Join, Where, Group, Define, Fun, Get, Agg, render
person = SQLTable(:person, :person_id, :year_of_birth, :location_id)
q = Define(:complex_expression => From(person) |> Group() |> Select(Agg.count())) |>
Select(Get.complex_expression .+ Get.complex_expression)
print(render(q))
#=>
SELECT ((
SELECT COUNT(*) AS "count"
FROM "person" AS "person_1"
) + (
SELECT COUNT(*) AS "count"
FROM "person" AS "person_1"
)) AS "+"
=#