mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-05-10 04:40:46 -05:00
67 lines
1.5 KiB
SQL
67 lines
1.5 KiB
SQL
with "Top500Weapon" as (
|
|
select
|
|
"BuildWeapon".*,
|
|
min("XRankPlacement"."rank") as "minRank",
|
|
max("XRankPlacement"."power") as "maxPower"
|
|
from
|
|
"BuildWeapon"
|
|
left join "SplatoonPlayer" on "SplatoonPlayer"."userId" = @userId
|
|
left join "XRankPlacement" on "XRankPlacement"."playerId" = "SplatoonPlayer"."id"
|
|
and "XRankPlacement"."weaponSplId" = "BuildWeapon"."weaponSplId"
|
|
group by
|
|
"BuildWeapon"."buildId",
|
|
"BuildWeapon"."weaponSplId"
|
|
),
|
|
"BuildWithWeapon" as (
|
|
select
|
|
"id",
|
|
"title",
|
|
"description",
|
|
"modes",
|
|
"headGearSplId",
|
|
"clothesGearSplId",
|
|
"shoesGearSplId",
|
|
"updatedAt",
|
|
"private",
|
|
json_group_array(
|
|
json_object(
|
|
'weaponSplId',
|
|
"Top500Weapon"."weaponSplId",
|
|
'maxPower',
|
|
"Top500Weapon"."maxPower",
|
|
'minRank',
|
|
"Top500Weapon"."minRank"
|
|
)
|
|
) as "weapons"
|
|
from
|
|
"Build"
|
|
left join "Top500Weapon" on "Top500Weapon"."buildId" = "Build"."id"
|
|
where
|
|
"Build"."ownerId" = @userId
|
|
and (
|
|
"Build"."private" = 0
|
|
or "Build"."ownerId" = @loggedInUserId
|
|
)
|
|
group by
|
|
"Build"."id"
|
|
)
|
|
select
|
|
"BuildWithWeapon".*,
|
|
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"
|
|
group by
|
|
"BuildWithWeapon"."id"
|
|
order by
|
|
"BuildWithWeapon"."updatedAt" desc
|