mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-05-13 22:42:38 -05:00
61 lines
1.4 KiB
SQL
61 lines
1.4 KiB
SQL
with "BuildFiltered" as (
|
|
select
|
|
"id",
|
|
"title",
|
|
"description",
|
|
"modes",
|
|
"headGearSplId",
|
|
"clothesGearSplId",
|
|
"shoesGearSplId",
|
|
"updatedAt",
|
|
"ownerId"
|
|
from
|
|
"Build"
|
|
left join "BuildWeapon" on "BuildWeapon"."buildId" = "Build"."id"
|
|
where
|
|
"BuildWeapon"."weaponSplId" = @weaponId
|
|
or "BuildWeapon"."weaponSplId" = @altWeaponId
|
|
group by
|
|
"Build"."id"
|
|
),
|
|
"BuildWithWeapon" as (
|
|
select
|
|
"BuildFiltered".*,
|
|
json_group_array("BuildWeapon"."weaponSplId") as "weapons"
|
|
from
|
|
"BuildFiltered"
|
|
left join "BuildWeapon" on "BuildWeapon"."buildId" = "BuildFiltered"."id"
|
|
group by
|
|
"BuildFiltered"."id"
|
|
)
|
|
select
|
|
"BuildWithWeapon".*,
|
|
"User"."discordId",
|
|
"User"."discordName",
|
|
"User"."discordDiscriminator",
|
|
json_group_array(
|
|
json_object(
|
|
'ability',
|
|
"BuildAbility"."ability",
|
|
'gearType',
|
|
"BuildAbility"."gearType",
|
|
'slotIndex',
|
|
"BuildAbility"."slotIndex"
|
|
)
|
|
) as "abilities"
|
|
from
|
|
"BuildWithWeapon"
|
|
left join "BuildAbility" on "BuildAbility"."buildId" = "BuildWithWeapon"."id"
|
|
left join "PlusTier" on "PlusTier"."userId" = "BuildWithWeapon"."ownerId"
|
|
left join "User" on "User"."id" = "BuildWithWeapon"."ownerId"
|
|
group by
|
|
"BuildWithWeapon"."id"
|
|
order by
|
|
case
|
|
when "PlusTier"."tier" is null then 4
|
|
else "PlusTier"."tier"
|
|
end asc,
|
|
"BuildWithWeapon"."updatedAt" desc
|
|
limit
|
|
@limit
|